我想在一个ListView
下面显示一个按钮,但问题是,如果ListView
被扩展(添加项目...),那么按钮就会被推出屏幕。
我尝试过使用权重的LinearLayout
(如Android:为什么没有View的maxHeight?中建议的),但要么我权重设置不正确,要么根本不起作用。
此外,我在某处找到提示使用RelativeLayout
。然后将ListView
设置在android:layout_above
参数所在的按钮上方。
这样做的问题是,我不知道如何定位按钮。在我找到的例子中,ListView
下面的视图使用android:layout_alignParentBottom
进行了调整,但我不想让我的按钮紧贴屏幕底部。
除了使用setHeight方法和计算所需空间之外,还有什么想法吗?
编辑:我得到了很多有用的答案。
bigstone和user639183的解决方案几乎完美地工作了。但是,我必须给按钮添加额外的填充/边距,因为它仍然会被推出屏幕的一半(但随后停止了)
Adinia的答案只使用相对布局,如果您想将按钮固定在屏幕底部,则可以使用它。这不是我预期的,但对其他人可能有用。
AngeloS的解决方案最终是我选择的,因为它刚好创造了我想要的效果。但是,我对按钮周围的
LinearLayout
进行了两个小更改:首先,因为我不想在我的布局中有任何绝对值,我将
android:layout_height =“45px”
更改为wrap_content
,它同样有效。第二个问题,由于我希望按钮水平居中,而这只有通过垂直的
LinearLayout
才能实现,所以我将 android:orientation="horizontal" 改为了 "vertical"。
AngeloS在他的初始帖子中还提到他不确定
ListView
周围的LinearLayout
中的 android:layout_weight="0.1" 参数是否起作用;我刚试过了,它确实有用!如果没有这个参数,按钮会再次被挤出屏幕。
android:layout_alignParentBottom="true"
。但是,清楚地说,当项目很少时,您是否希望按钮保持附加到ListView的底部?如果是,请看Rich的建议。 - bigstones