Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to make ScrollView with a RelativeLayout with multiple child layouts fill the screen?

I have a layout that has just a ScrollView visible. It has a relative layout as its child. This layout has several other layouts (mainly text views) as its children. When the text is not big enough, the scroll view does not expand itself to fit the whole screen. Instead, it shows a gap at the bottom where the background shows. I tried setting fillViewPort=true on the ScrollView, but that just made the first child layout (RL1) to fill the screen.

<?xml version="1.0" encoding="utf-8"?>
  <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/background_image">

   <ProgressBar android:id="@+id/progressBar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:visibility="gone"/>

    <ScrollView
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:fillViewPort="true"
      android:scrollbars="none">

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingTop="10px">

      <RelativeLayout android:id="@+id/list"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:paddingTop="10px">

        <!-- This layout is filling the screen if I set fillViewPort="true" -->
        <RelativeLayout  android:id="@+id/RL1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content">

            <!--TextViews and ImageViews -->

       </RelativeLayout>

        <RelativeLayout android:id="@+id/RL2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content">

            <!--TextViews and ImageViews -->

        </RelativeLayout>

        <RelativeLayout android:id="@+id/RL3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" >

            <!--TextViews and ImageViews -->

        </RelativeLayout>

        <RelativeLayout  android:id="@+id/RL4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content">

            <!--TextViews and ImageViews -->

        </RelativeLayout>

     </RelativeLayout>

   </RelativeLayout>

  </ScrollView>

</FrameLayout>
like image 618
terminator Avatar asked Aug 20 '10 20:08

terminator


1 Answers

fillViewPort should be fillViewport

like image 60
herbertD Avatar answered Nov 01 '22 00:11

herbertD