2011-09-23 83 views
2

我有一堆使用默認重力顯示的按鈕。我添加到LinearLayout視圖的最後一個按鈕是我想在視圖底部顯示的內容。我如何通過編程方式將其添加到屏幕底部?我試過設置重力,但一切都落在了底部。我只想讓一個按鈕落到屏幕的底部。理想情況下,我不必再提出一個觀點。以編程方式將按鈕添加到線性佈局的底部

+0

在這種情況下,你應該使用RelativeLayout,然後你把你的Button放在你的佈局的底部 – Houcine

回答

4

如果屏幕的其他部分不爲空,你可以給android:layout_weight=0.0的按鈕,1.0到頂部的部件。

這樣,帶有1.0權重的小部件將擴大以填充空白區域,而帶0.0的按鈕將僅使用默認空間,並且作爲最後一項添加到垂直LinearLayout時,它將被粘貼到底部。

6

試試這個:

Button button = new Button(this); 
youLinearLayout.addView(button, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, Gravity.BOTTOM)); 

編輯 對不起,上面的代碼不工作。

如果orientation == vertical,你不能使用單個LinearLayout來完成此操作。

您需要創建另一個佈局(RelativeLayout)並向其中添加TextView。

RelativeLayout relative = new RelativeLayout(this); 
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); 

relativeLayout.addView(textView, params); 

linearLayout.addView(relativeLayout, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
+0

它不會被添加到最底層的人,它依賴於案件,當他將啓動他的應用程序不同決議,結果將不同 – Houcine

+0

這工作正常。但是,有一個錯字:ALIGN_WITH_PARENT_BOTTOM應該是ALIGN_PARENT_BOTTOM – Matt

相關問題