我需要在LinearLayout和Relative Layout之间显示ListView。我希望根据屏幕尺寸显示ListView的高度。为此,我将layout_height =“wrap_content”和我的用户layout_above和layout_belowm放在一起,但这会返回:“RelativeLayout中不存在循环依赖”。 这是我的布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/firstLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/roadmap_linearlayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:gravity="center"
android:orientation="horizontal" >
........
</LinearLayout>
<ListView
android:id="@+id/listvisit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/roadmap_linearlayout"
android:layout_above="@+id/relativelayout_listpostovisit"
android:layout_marginTop="10dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:cacheColorHint="@android:color/transparent"
android:divider="@drawable/listview_divider"
android:dividerHeight="2dp"
android:scrollbars="vertical" />
<RelativeLayout
android:id="@+id/relativelayout_listpostovisit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/listvisit"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:background="#FFFFFF"
android:orientation="vertical"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true">
.........
</RelativeLayout>
</RelativeLayout>
知道如何解决这个问题吗?
提前致谢。
答案 0 :(得分:2)
我希望根据屏幕尺寸显示ListView的高度。
我打算将其翻译为“我希望ListView
填充可用的屏幕空间”。
为此,我把layout_height =“wrap_content”
您无法在android:layout_height="wrap_content"
上可靠地使用ListView
。
我用户layout_above和layout_belowm但这会返回:“RelativeLayout中不存在循环依赖”
这是因为您的外部RelativeLayout
配置relativelayout_listpostovisit
取决于listvisit
的位置,而listvisit
的位置取决于relativelayout_listpostovisit
的位置。那不行。
或者:
更改relativelayout_listpostovisit
,删除android:layout_below="@id/listvisit"
并添加android:layout_alignParentBottom="true"
或
将外部容器切换为LinearLayout
而不是RelativeLayout
,然后切换为使用android:layout_weight
为ListView
分配额外空间。