我的XML
文件的LinearLayout
包含两个ListView
和android:height="wrap_content"
。但是,当ListView
中的一个内容过多时,它将推入另一个ListView
并占用其空间。我该怎么做才能使其停止在某个高度停止运动?我尝试添加layout-weight
或maxHeight
,但这无济于事。
答案 0 :(得分:0)
如果您希望两个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
答案 1 :(得分:0)
尝试一下:
<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>
答案 2 :(得分:0)
我通过编程来解决。似乎XML
对动态高度没有太多控制。我向onLayoutChangedListener
都添加了ListView
,以检测高度变化并在侦听器中添加高度控制逻辑。