用参数以编程方式添加按钮?

问题描述:

基本上,我有这样的布局结构:<RelativeLayout> <RelativeLayout> <TextView /> </RelativeLayout> <ScrollView> <RelativeLayout> ... </RelativeLayout> </ScrollView> </RelativeLayout>,我想以编程方式添加按钮。此按钮应位于<ScrollView>内的<RelativeLayout>之内。另外,我需要将它对齐到底部和CENTER_VERTICAL。 我真的很感激任何提示/例子;)谢谢! P.S.尽管在*上有很多类似的问题,但没有一个答案对我有帮助...用参数以编程方式添加按钮?

+1

选择XML,然后按CTRL + SHIFT + K格式化代码,以便它会看起来很不错。 – 2012-01-02 08:12:29

首先,您需要给XML中的相对布局ID:android:id="@+id/myLayout"。 然后在Java代码:

Button b = new Button(this); 
RelativeLayout.LayoutParams rl = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
rl.addRule(RelativeLayout.ALIGN_BOTTOM); 
b.setLayoutParams(rl); 
((RelativeLayout) findViewById(R.id.myLayout)).addView(b); 
+0

非常感谢你!我还添加了'params.bottomMargin = 20;'以获得更好的外观并更改我的.xml文件,因为RelativeLayout有'WRAP_CONTENT',并且不可能将我的按钮对齐到底部。 – lomza 2012-01-02 09:15:17

+0

我也很感兴趣,如果我可以通过编程“说”,新创建的按钮应该位于某个“TextView”下方,例如?谢谢。 – lomza 2012-01-02 13:00:11

+2

当然你可以:'rl.addRule(RelativeLayout.BELOW,R.id.textview01);' – Thommy 2012-01-02 13:38:51