RelativeLayout中子控件改变layoutParams无效

RelativeLayout中子控件改变layoutParams无效布局代码:

大家好,又见面了,我是你们的朋友全栈君。

布局代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <SurfaceView
        android:id="@+id/sv"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
    
</RelativeLayout>

java代码动态改变SurfaceView大小:

ViewGroup.LayoutParams layoutParams = mSurfaceView.getLayoutParams();
layoutParams.width = width;
mSurfaceView.setLayoutParams(layoutParams);

发现并没有用,但是在SurfaceView外层再嵌套一层FrameLayout就可以了,调整后布局如下:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:keepScreenOn="true">

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <SurfaceView
            android:id="@+id/sv"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

    </FrameLayout>

</RelativeLayout>

原因不详,知道的小伙伴麻烦留言一下。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160836.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 两位数乘法的速算方法(二)

    两位数乘法的速算方法(二)两位数乘法的速算方法(二)一、被乘数首尾相同1. 乘数首尾互补公式推导:(10a+a)(10b+10-b)=100ab+10(ax(10-b)+ab)+a(10-b)=100ab+100a+ab=100a(b+1)+ab 速算方法:1.乘数首位加1,得出的和与被乘数首位相乘,得数作为前积;2.尾数相乘,得数作为后积,没有十位用0补; 应用举例:66×3

    2022年5月2日
    75
  • spring整合log4j_log4j和logback同时使用

    spring整合log4j_log4j和logback同时使用常用日志框架log4j、log4j2(log4j的升级版,最常用的)、logback(spring boot默认)、Jboss-logging…等slf4 是日志接口规范,代码对接slf4,实现和具体日志框架解耦,无需修改编码即可切换日志框架。修改pom依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-st

    2022年8月8日
    8
  • quick-cocos2d-x游戏开发【4】——加入文本[通俗易懂]

    quick-cocos2d-x游戏开发【4】——加入文本

    2022年1月19日
    46
  • OpenProcessToken LookupPrivilegeValue 和AdjustTokenPrivilege[通俗易懂]

    OpenProcessToken LookupPrivilegeValue 和AdjustTokenPrivilege[通俗易懂]OpenProcessToken函数功能用来打开与进程相关联的访问令牌函数申明WINADVAPIBOOLWINAPIOpenProcessToken(_In_HANDLEProcessHandle,_In_DWORDDesiredAccess,_Outptr_PHANDLETokenHandle);第一个参数ProcessHandle[in],输入参数,要打开的访问令牌所属的进程句柄,查询进程必须拥有PROCESS_QUERY_INF

    2022年6月25日
    28
  • 史上最全Java学习视频下载地址分享

    史上最全Java学习视频下载地址分享1.Java基础视频 《张孝祥JAVA视频教程》完整版[RMVB](东西网)历经5年锤炼(史上最适合初学者入门的Java基础视频)(传智播客)张孝祥2010年贺岁视频:Java高新技术(传智播客)Java多线程与并发库高级应用(传智播客)尚学堂JAVA视频下载大全(持续更新中…请关注!)(尚学堂)《动力节点,王勇JAVA系列视频教程》(东西网)

    2022年7月8日
    19
  • Django抛错不存在(DoesNotExist)

    fromdjango.core.exceptionsimportObjectDoesNotExisttry:disabledusers.objects.get(sAMAccountName=’liu’)exceptObjectDoesNotExist:print’a’exceptmodelname.DoesNotExist:转载…

    2022年4月6日
    110

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号