25
<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の上に緑と青のバックグラウンドがあります。

しかし、私が実際に見ているのは、スクロールビューからは黒の背景、linear2とlinear3からは緑と青ですが、linear1からは赤の背景はありません。

つまり、リニアはandroid:layout_height = "wrap_content"がandroid:layout_height ="match_parent"ではなく設定されているように動作します

何か案は ?

4

1 に答える 1

87

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

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

    ...

 </ScrollView>

情報

于 2013-02-12T17:15:02.467 に答える