我如何从java代码动态设置属性layout_weight在android按钮的值?
当前回答
如果带有width、height和weight的构造函数不起作用,请尝试使用带有width和height的构造函数。然后手动设置权重。
如果您希望根据权重设置宽度,则在构造函数中将width设置为0。身高也是一样。 下面的代码为我工作。
LinearLayout.LayoutParams childParam1 = new LinearLayout.LayoutParams(0,LinearLayout.LayoutParams.MATCH_PARENT);
childParam1.weight = 0.3f;
child1.setLayoutParams(childParam1);
LinearLayout.LayoutParams childParam2 = new LinearLayout.LayoutParams(0,LinearLayout.LayoutParams.MATCH_PARENT);
childParam2.weight = 0.7f;
child2.setLayoutParams(childParam2);
parent.setWeightSum(1f);
parent.addView(child1);
parent.addView(child2);
其他回答
如果我有人在寻找答案,用这个:
LinearLayout.LayoutParams lay = (LinearLayout.LayoutParams) myLayout.getLayoutParams();
lay.weight = 0.5;
如果你从xml文件初始化布局,这将比为线性布局提供新的布局参数方便得多。
如果layoutparams已经定义(在XML或动态),这里有一行:
((LinearLayout.LayoutParams) mView.getLayoutParams()).weight = 1;
如果你想设置权重为线性布局,然后使用下面提到的代码或设置权重为相对布局,然后将其替换为相对布局
LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(
LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT,
1.0f
); YOUR_VIEW.setLayoutParams (param);
如果带有width、height和weight的构造函数不起作用,请尝试使用带有width和height的构造函数。然后手动设置权重。
如果您希望根据权重设置宽度,则在构造函数中将width设置为0。身高也是一样。 下面的代码为我工作。
LinearLayout.LayoutParams childParam1 = new LinearLayout.LayoutParams(0,LinearLayout.LayoutParams.MATCH_PARENT);
childParam1.weight = 0.3f;
child1.setLayoutParams(childParam1);
LinearLayout.LayoutParams childParam2 = new LinearLayout.LayoutParams(0,LinearLayout.LayoutParams.MATCH_PARENT);
childParam2.weight = 0.7f;
child2.setLayoutParams(childParam2);
parent.setWeightSum(1f);
parent.addView(child1);
parent.addView(child2);
我已经通过添加这行代码完成了我的任务!
LinearLayout.LayoutParams mylayout = (LinearLayout.LayoutParams)
myview.getLayoutParams();
mylayout.weight = 2;
myview.setLayoutParams(mylayout);
推荐文章
- 从资产中读取文件
- 在不活动的地方调用getLayoutInflater()
- 设置Android布局元素的背景颜色
- 错误:'keytool'不能被识别为内部或外部命令、可操作程序或批处理文件
- 在应用程序本身中更改Locale
- apk (.apk)和应用程序包(.aab)的区别
- 如何设置超时在改造库?
- Android - SPAN_EXCLUSIVE_EXCLUSIVE跨度不能为零长度
- TextView的字体大小在Android应用程序改变字体大小从本机设置
- 如何模拟Android杀死我的进程
- 禁用EditText闪烁光标
- Android Eclipse -无法找到*.apk
- 设置TextView文本从html格式的字符串资源在XML
- 如何允许所有网络连接类型HTTP和HTTPS在Android(9)馅饼?
- Android加载JS包失败