LinearLayout背景颜色填充整页

时间:2014-02-04 15:29:52

标签: android xml

我正在尝试用背景颜色填充LinearLayout,但是在屏幕的底部我有一个带有ListView的页脚,背景颜色带有覆盖。

http://i.imgur.com/k8CzOyJ.jpg

代码:

 <ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true">

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:background="#ffffff">

        <!--  Header Starts-->
        <LinearLayout android:id="@+id/header"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@layout/header_gradient"
            android:paddingTop="5dip"
            android:paddingBottom="5dip">
            <!-- Logo Start-->
            <ImageView android:src="@drawable/reglogo"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dip"/>
            <!-- Logo Ends -->
        </LinearLayout>
        <!--  Header Ends -->

        <!-- Footer Start -->
        <LinearLayout android:id="@+id/footer"
            android:layout_width="fill_parent"
            android:layout_height="90dip"
            android:orientation="vertical"
            android:layout_alignParentBottom="true">
            <!-- List Starts -->
            <ListView
                android:id="@+id/list"
                android:layout_width="match_parent"
                android:layout_height="match_parent">
            </ListView>
        </LinearLayout>
        <!-- Footer Ends -->

        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="fill_parent"
            android:layout_below="@id/header"
            android:background="@color/blue">
        </LinearLayout>

    </RelativeLayout>
</ScrollView>

我理解android:layout_width="fill_parent"是造成问题的原因,但当我使用wrap_content时,它并没有填满我想要的区域。

如何将背景颜色停在页面底部?

1 个答案:

答案 0 :(得分:1)

问题是android:layout_below="@id/header"导致LinearLayout与您的页脚重叠。试着这样做:

<LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="fill_parent"
            android:layout_below="@id/header"
            android:layout_above="@id/footer"
            android:background="@color/blue">
</LinearLayout>

我们现在在上面对齐,以便它不会重叠。

编辑:要记住的关键点是RelativeLayout和FrameLayout允许视图相互重叠。另外请记住,稍后用于ViewGroup的XML视图具有更高的Z顺序。如果我的建议不起作用(暂时无法测试,抱歉),那么您可以尝试在蓝色背景后声明您的页脚,看看Z顺序是否会显示在蓝色背景上方。