安卓高度wrap_content固定比率



我的XML文件有一个包含两个带有android:height="wrap_content"ListViewLinearLayout。但是,当其中一个ListView的内容过多时,它会推另一个ListView并占用其空间。我该怎么做才能让它在一定高度停止推动?我尝试添加layout-weightmaxHeight但没有帮助。

如果您希望两个ListViews平均分配相同的金额,只需将它们放在一个LinearLayout中即可。

LinearLayout将具有属性weightSum=2,而两个ListViews都将具有,具体取决于LinearLayout orientation property

如果vertical->则两个ListViews都将具有android:height="0dp"layout-weight=1

如果horizontal->则两个ListViews都将具有android:width="0dp"layout-weight=1

我通过编程方式解决了它。似乎XML对动态高度没有太多控制。我在两个ListView中添加了onLayoutChangedListener来检测高度变化并在侦听器中添加高度控制逻辑。

试试这个:

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/green_bg_duplicate"
android:gravity="center"
android:orientation="vertical"
android:weightSum="2">
<RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1" />
<RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1" />
</LinearLayout>

相关内容

  • 没有找到相关文章

最新更新