2012-01-02 97 views
1

基本上,我有這樣的佈局結構:<RelativeLayout> <RelativeLayout> <TextView /> </RelativeLayout> <ScrollView> <RelativeLayout> ... </RelativeLayout> </ScrollView> </RelativeLayout>,我想以編程方式添加按鈕。此按鈕應位於<ScrollView>內的<RelativeLayout>之內。另外,我需要將它對齊到底部和CENTER_VERTICAL。 我真的很感激任何提示/例子;)謝謝! P.S.儘管在stackoverflow上有很多類似的問題,但沒有一個答案對我有幫助...用參數以編程方式添加按鈕?

+1

選擇XML,然後按CTRL + SHIFT + K格式化代碼,以便它會看起來很不錯。 – 2012-01-02 08:12:29

回答

7

首先,您需要給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

相關問題