我正在开发一个安卓应用程序。
在 XML 布局中,我需要执行以下操作:
我在顶部有一个列表视图(listViewProducts),在它下面有另一个相对视图(receiptSection)。
列表视图应该占用与其拥有的项目一样多的空间。其余的由receiptSection 承担。
例如,如果我在 listViewProducts 中有 2 个项目:
列表视图与 2 个项目一样大,其余由收据视图获取。
如果我添加另一个项目,列表视图现在会占用更多空间并将收据视图推低:
但是,如果我添加更多项目,我希望列表视图高度停止增长,以便为不能变小的收据视图留下一个最小高度:
如图所示,receiptVIew 的最小高度为 50dp。一旦收据视图达到该高度,它应该停止收缩,现在列表视图具有基于剩余空间的固定大小。其余的将是可滚动的。
我试过的
我创建了一个列表视图。我有android:layout_alignParentTop="true"
和android:layout_height="wrap_content"
。
这将使它随着它的内容和它在视图的顶部一起增长
<ListView
android:id="@+id/listViewProducts"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true" >
</ListView>
然后我创建了一个RelativeLayout,它将保存单独的xml布局文件中的checkout_receipt_view。
对于我拥有的这个视图android:layout_alignParentBottom="true"
,android:layout_below="@id/listViewProducts"
这将使它位于列表视图下方并与视图底部对齐。
我还用来android:minHeight="50d"
设置receiptSection的最小高度。
<RelativeLayout
android:id="@+id/receiptSection"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_below="@id/listViewProducts"
android:minHeight="50dp" >
<include layout="@layout/checkout_receipt_view" />
</RelativeLayout>
listViewProducts 与项目一起增长,receiptView 正确占用剩余空间。
但是问题 是最小高度不起作用。列表视图继续无限增长,receiptSection 将被推出视图。
当receiptView达到50dp时,有没有办法让listView停止增长?
非常感谢您的帮助。