Vista interior de ScrollView no toma lugar

Tengo un RelativeLayout dentro de un ScrollView.
Mi RelativeLayout ha android:layout_height="match_parent" pero la vista no tomar todo el tamaño, es como un wrap_content.

Hay una manera de tener el real fill_parent/match_parent comportamiento ?

Mi diseño :

<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>
InformationsquelleAutor g123k | 2012-04-18

2 Kommentare

  1. 426

    Trate de añadir android:fillViewport="true"a su ScrollView

    recordar que android:layout_height=”fill_parent” significa «establecer la altura a la altura de los padres.» Obviamente, esto no es lo que usted desea cuando se utiliza un ScrollView. Después de todo, la ScrollView sería inútil si su contenido era siempre tan alto como él. Para evitar esto, usted necesita usar el ScrollView atributo llamado android:fillViewport. Cuando se establece en true, este atributo hace que el desplazamiento de la vista del niño a ampliar a la altura de la ScrollView si es necesario. Cuando el niño es más alto que el ScrollView, el atributo no tiene ningún efecto.

    http://www.curious-creature.org/2010/08/15/scrollviews-handy-trick/

    • La misma es para HorizontalScrollView.
    • Esto funciona para NestedScrollView (23.4) también, gracias!
    • Cooool ) Gracias!
    • Salvó mi día, scrollview chupa sin esta :p
    • Esto funciona para NestedScrollView muchas gracias!
    • Trabajó como un encanto! Gracias. Usted salvó mi día.
    • Si no funciona para usted, asegúrese de que establece el atributo en el ScrollView, no el niño!

  2. 7

    Acaba de agregar android:fillViewport=»true» en las palmas de xml de diseño en Scrollview

    <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>

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea