安卓动态设置布局宽高

问题:

android中的控件如果在xml布局文件中把控件的layout_width和layout_height写成固定值了,好像就不能再在程序中更改该控件的高度和宽度了?

一、方法

使用getLayoutParams() 和setLayoutParams()方法

二、示例代码

LinearLayout.LayoutParams linearParams = (LinearLayout.LayoutParams) aaa.getLayoutParams();
   // 取控件aaa当前的布局参数
  linearParams.height = 365; // 当控件的高强制设成365象素
  aaa.setLayoutParams(linearParams); // 使设置好的布局参数应用到控件aaa

三、原理

a)getLayoutParams()和setLayoutParams()都是控件基类view的public方法,在外部也可以直接调用。
  b)由于LayoutParams一般是在加入容器中设置的,所以容易混淆所指定的布局属性究竟是保存在容器中,还是控件本身的属性,答案是控件本身。但是在设置时还是要注意布局属性与容器种类密切相关。


猜你喜欢

转载自blog.csdn.net/qq_32670947/article/details/131009973