0

LinearLayoutとRelativeLayoutの間に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>

これを解決する方法はありますか?

前もって感謝します。

4

1 に答える 1

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"、または

  • 外側のコンテナをaLinearLayoutではなくRelativeLayoutに切り替え、を使用android:layout_weightして余分なスペースをに割り当てListViewます。

于 2012-11-21T14:03:25.613 に答える