kakko76 kakko76 - 2 months ago 24
Android Question

Android: ScrollView in vertical LinearLayout

I'm making an app for Android device and I'm trying to have a ScrollView inside a LinearLayout but when I try to do this the ScrollView take all the space and elements who are after the ScrollView in the LinearLayout disapear.

For example:

If the ScrollView is not "full":

http://kakko76.free.fr/scroll2.jpg

If the ScrollView is "full":

http://kakko76.free.fr/scroll1.png

As you can see the button disapear...

Here is the code of this Activity:

<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_marginLeft="50dp"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:orientation="vertical"
android:focusable="true"
android:focusableInTouchMode="true"
android:background="@drawable/linearlayoutbackground" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/nom_des_joueurs"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_marginBottom="30dp" />

<ScrollView
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<LinearLayout
android:id="@+id/llPlayersName"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>

</LinearLayout>

</ScrollView>

<Button
android:id="@+id/okPlayersName"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/ok"
android:background="@drawable/backgroundbutton"
android:layout_marginTop="30dp" />
</LinearLayout>


After I add elements in the LinearLayout who are in the ScrollView.

Any solution?

Thanks.

Answer

Try the following:

android:layout_height="0dp"
android:layout_weight="1"

This tells your ScrollView to take all the remaining space not occupied by the other elements.