web-dev-qa-db-ja.com

領域全体を埋めるためにscrollviewの線形レイアウトを作成する方法

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

    <ScrollView
        Android:id="@+id/scrollView1"
        Android:background="#000000"
        Android:layout_width="match_parent"
        Android:layout_height="match_parent" >

        <LinearLayout
            Android:id="@+id/linear1"
            Android:background="#FF0000"
            Android:orientation="vertical"
            Android:layout_width="match_parent"
            Android:layout_height="match_parent" >

            <LinearLayout
                Android:background="#00FF00"
                Android:id="@+id/linear2"
                Android:layout_width="match_parent"
                Android:layout_height="200dip"
                Android:orientation="vertical" >
            </LinearLayout>

            <LinearLayout
                Android:background="#0000FF"
                Android:id="@+id/linear3"
                Android:layout_width="match_parent"
                Android:layout_height="100dip"
                Android:orientation="vertical" >
            </LinearLayout>

        </LinearLayout>
    </ScrollView>
</RelativeLayout>

これは私のレイアウトであり、赤い背景(linear1には背景が赤で、親を塗りつぶすためのプロパティがあるため)と、他の2つのレイアウトが、linear1の上に緑と青のバックグラウンドがあることが予想されます。

しかし、私が実際に目にするのは、scrollviewからの黒の背景と、linear2とlinear3からの緑と青ですが、linear1からの赤の背景はありません。

つまり、線形はAndroid:layout_height = "wrap_content"がAndroid:layout_height = "match_parent"ではなく設定されているように機能しています

何か案は ?

24
Lukap

FillViewportを設定する必要があります。

<ScrollView
    Android:id="@+id/scrollView1"
    Android:background="#000000"
    Android:layout_width="match_parent"
    Android:fillViewport="true" <!-- here -->
    Android:layout_height="match_parent" >

    ...

 </ScrollView>

情報

74
neworld