Android:如何配置RelativeLayout以填充整个高度

时间:2013-11-05 19:43:23

标签: android android-layout

我有一个包含相对布局的滚动视图。滚动视图具有渐变背景,并设置为填充父级。相对布局也有BG,我也想填充屏幕,但android:layout_height="fill_parent"不适用于相对布局。

如何在任何屏幕分辨率上配置RelativeLayout以跨越整个屏幕高度?

这是我的代码:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/parentLayout"
    style="@style/mainLayoutStyle"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <RelativeLayout
        android:id="@+id/RelativeLayout1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/home_activity_bg"
        android:paddingBottom="10dp" >


    </RelativeLayout>

</ScrollView>

更新

由于某种原因,我删除了所有东西,只留下了ScrollView和RelativeLayout,在结束之前切割了图像(你可以根据蓝线看到布局本身在结束前结束):

enter image description here

3 个答案:

答案 0 :(得分:1)

由于这个“android:paddingBottom="10dp"从您的RelativeLayout中删除了该行,因此您已完成切换。它将填满整个屏幕。

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/parentLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#ffff00" >

    <RelativeLayout
        android:id="@+id/RelativeLayout1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#ff0000" >


    </RelativeLayout>

</ScrollView>

这是我的代码,这是我的显示器:

enter image description here

答案 1 :(得分:0)

在RelativeLayout,移除android:paddingBottom="10dp"并将其设为android:layout_height="fill_parent"

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/parentLayout"
    style="@style/mainLayoutStyle"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <RelativeLayout
        android:id="@+id/RelativeLayout1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@drawable/home_activity_bg" >

    </RelativeLayout>

</ScrollView>

答案 2 :(得分:0)

使用以下代码结束:

private void setHeightToFullScreen() {
        Display display = getWindowManager().getDefaultDisplay();
        int height = display.getHeight();
        RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.myRelativeLayout);
        LayoutParams layoutParams = relativeLayout.getLayoutParams();
        layoutParams.height = height;
    }

请注意,getHeight已弃用,您应使用getSize,但仅在API级别13中支持。