使用ListView将LinearLayout放在FrameLayout下面

时间:2014-07-30 21:26:37

标签: android android-layout listview android-linearlayout android-framelayout

我想将LinearLayout放在包含ListView的FrameLayout下面,但不显示LinearLayout的内容。 我也尝试使用周围的LinearLayout而不是RelativeLayout,但没有成功。 FrameLayout无法更改为不同的布局类型! 下面的LinearLayout将以编程方式显示和隐藏。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@id/framelayout_container" >

    <ListView
        android:id="@+id/content_list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:divider="#FFFFFF"
        android:dividerHeight="1dp"
        android:padding="0dp" >
    </ListView>

    <LinearLayout
        android:id="@+id/description_container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/white" >

        <include
            android:id="@+id/description_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            layout="@layout/included_layout" />
    </LinearLayout>
</FrameLayout>

<LinearLayout
    android:id="@+id/below_container"
    android:layout_width="match_parent"
    android:layout_height="0dip"
    android:layout_alignParentBottom="true"
    android:background="#33b5e5" >

    <include
        android:id="@+id/below_layout"
        layout="@layout/below_layout"
        android:visibility="visible" />
</LinearLayout>
</RelativeLayout>

任何想法如何让这项工作?

1 个答案:

答案 0 :(得分:0)

问题是你的FrameLayout被设置为匹配父宽度和高度,因此它不会为它下面的LinearLayout留下空间。您需要修改它以使用其layout_height设置为wrap_content,并更改内部ListView以执行相同操作。