以编程方式将按钮添加到线性布局的底部

时间:2011-09-23 22:24:20

标签: android android-layout

我使用默认的重力显示了一堆按钮。我添加到LinearLayout视图的最后一个按钮是我想要显示在视图底部的按钮。如何以编程方式添加它以显示在屏幕底部?我试过设定引力,但一切都落到了底部。我只想让一个按钮落到屏幕的底部。理想情况下,我不必再提出另一种观点。

2 个答案:

答案 0 :(得分: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));

答案 1 :(得分:4)

如果屏幕的其余部分不为空,您可以将android:layout_weight=0.0提供给按钮,将1.0提供给顶部的小部件。

通过这种方式,具有1.0权重的窗口小部件将扩展以填充空白区域,而具有0.0的Button将仅占用默认空间,并且作为最后一个项目加到垂直LinearLayout,它将粘贴到底部。