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

3

我有一组使用默认重力显示的按钮。我想要添加到LinearLayout视图中的最后一个按钮应该出现在视图底部。如何通过编程添加它以出现在屏幕底部?我已经尝试设置重力,但所有内容都会掉到底部。我只想让一个按钮掉到屏幕底部。理想情况下,我不想再创建另一个视图。


在这种情况下,您应该使用RelativeLayout,然后将您的按钮放置在布局底部。 - Houcine
2个回答

7

试试这个:

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

编辑 抱歉,上面的代码无效。

如果方向为垂直,您不能仅使用单个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));

当他在不同的分辨率上启动应用程序时,结果会有所不同。 - Houcine
这个程序运行良好。但是有一个拼写错误:ALIGN_WITH_PARENT_BOTTOM 应该是 ALIGN_PARENT_BOTTOM。 - Matt

4
如果屏幕上其余区域不为空,您可以将android:layout_weight=0.0分配给按钮,并将1.0分配给顶部的小部件。
这样,权重为1.0的小部件将扩展以填充空白区域,而权重为0.0的按钮仅占用默认空间,并且作为添加到垂直LinearLayout中的最后一项,它将粘着在底部。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接