1

我有一个包含相对布局的滚动视图。滚动视图具有渐变背景并设置为填充父级。相对布局也有一个背景,我希望它也能填满屏幕,但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,出于某种原因,在 Galaxy S4 上,图像在结束之前被剪切(您可以根据蓝线看到布局本身在结束之前结束):

在此处输入图像描述

4

3 回答 3

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>

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

在此处输入图像描述

于 2013-11-05T20:11:26.630 回答
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 中受支持。

于 2013-11-05T21:21:44.300 回答
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>
于 2013-11-05T20:15:58.677 回答