我想显示一个按钮下的 ListView
。问题是,如果 ListView
得到扩展(项目添加...) ,按钮将被推出屏幕。
我尝试了一个有重量的 LinearLayout
(就像在 Android: 为什么在视图中没有 maxHeight?中建议的那样) ,但要么是我把重量弄错了,要么就是它根本不起作用。
另外,我在某处找到了使用 RelativeLayout
的提示。然后用 android:layout_above
参数将 ListView
设置在按钮的上方。
问题是,我不知道如何定位按钮后。在我发现的例子中,在 ListView
下面的视图是使用 android:layout_alignParentBottom
调整的,但是我不想我的按钮粘在屏幕的底部。
除了使用 setHeight 方法和对所需空间的一些计算之外,还有其他的想法吗?
编辑: 我得到了很多有用的答案。
Bigstone’s & user639183的解决方案 差不多运行良好。但是,我必须在按钮底部添加一个额外的填充/边距,因为它仍然会被推出屏幕的一半(然后停止)
如果你想把按钮固定在屏幕的底部,Adinia 的回答只是相对布局就可以了。这不是我的本意,但对其他人可能还是有用的。
AngeloS 的解决方案是我最后选择的,因为它只是创造了我想要的效果。然而,我对按钮周围的 LinearLayout
做了两个小小的改动:
首先,因为我不想在我的布局中有任何绝对值,所以我将 android:layout_height="45px"
改为 wrap_content
,这样也很好。
其次,由于我希望按钮水平居中,这只能由垂直 LinearLayout
支持,所以我将 android: 方向 = “水平”改為“垂直”。
AngeloS 也在他最初的帖子中说,他不确定 LinearLayout
中的 android:layout_weight="0.1"
参数是否对 ListView
有任何影响; 我只是尝试了一下,确实有效!否则,按钮将再次被推出屏幕。