web-dev-qa-db-ja.com

ScrollView内のビューがすべての場所を占めるわけではありません

ScrollView内にRelativeLayoutがあります。 RelativeLayoutにはAndroid:layout_height="match_parent"しかし、ビューは全体のサイズを取りません。それはwrap_contentのようなものです。

実際のfill_parent/match_parent動作をさせる方法はありますか?

私のレイアウト:

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

    <ImageView
    Android:id="@+id/top"
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    Android:layout_alignParentTop="true"
    Android:scaleType="fitXY"
    Android:src="@drawable/top" />

    <ImageView
    Android:id="@+id/header"
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    Android:layout_below="@+id/top"
    Android:scaleType="fitXY"
    Android:src="@drawable/headerbig" />

    <ImageView
    Android:id="@+id/logo"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_alignBottom="@+id/header"
    Android:layout_centerHorizontal="true"
    Android:layout_marginBottom="3dp"
    Android:src="@drawable/logo" />

    <ScrollView
    Android:layout_width="fill_parent"
        Android:layout_height="match_parent"
        Android:layout_above="@+id/bottom"
    Android:layout_below="@+id/logo"
    Android:background="@drawable/background" >

        <RelativeLayout
        Android:layout_width="fill_parent"
        Android:layout_height="fill_parent">

             <ImageView
            Android:id="@+id/dashboard01"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:layout_above="@+id/dashboard02"
            Android:layout_centerHorizontal="true"
            Android:layout_marginBottom="30dp"
            Android:src="@drawable/dashboard01"
            Android:visibility="visible" />

            <ImageView
            Android:id="@+id/dashboard02"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:layout_centerInParent="true"
            Android:layout_alignParentRight="true"
            Android:layout_marginRight="10dp"
            Android:src="@drawable/dashboard02" />

             <ImageView
            Android:id="@+id/dashboard03"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:layout_below="@+id/dashboard02"
            Android:layout_centerHorizontal="true"
            Android:layout_marginTop="40dp"
            Android:src="@drawable/dashboard03"
            Android:visibility="visible" />
         </RelativeLayout>
    </ScrollView>

    <ImageView
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    Android:layout_below="@+id/logo"
    Android:layout_centerHorizontal="true"
    Android:scaleType="fitXY"
    Android:src="@drawable/bar" />

    <ImageView
    Android:id="@+id/bottom"
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    Android:layout_alignParentBottom="true"
    Android:scaleType="fitXY"
    Android:src="@drawable/bottom" />

</RelativeLayout>
128
g123k

Scrollviewのyout xmlレイアウトにAndroid:fillViewport = "true"を追加するだけです

<ScrollView Android:layout_height="match_parent"
    Android:layout_width="match_parent"
    Android:background="@color/green"
    xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:fitsSystemWindows="true"
    Android:fillViewport="true"
    >

<!--define views here-->


</ScrollView>