如何更改动态视图的各个属性的值?

时间:2012-01-24 01:20:53

标签: android layout

如果我在代码中创建自己的RelativeLayout(不是在XML中)并希望设置其各种属性(android:layout_centerVertical等),这样做的语法是什么?

1 个答案:

答案 0 :(得分:1)

我认为您需要使用LayoutParams。这应该可以帮到你:

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_LEFT, RelativeLayout.TRUE);
Button button1;
button1.setLayoutParams(params);

params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.RIGHT_OF, button1.getId());
Button button2;
button2.setLayoutParams(params);

您需要创建LayoutParams对象,然后使用addRule()向其添加规则。然后,您只需将参数设置为您想要的View。导入LayoutParams时要小心,因为不同类型的View有不同的导入。我想你会想要一个叫RelativeLayout.LayoutParams

的人

Here is a link to the dev guide for extra help