MRefaat
MRefaat

Reputation: 535

make a layout just fits the width when it's in a HorizonrtalScrollView

I have a horizontal LinearLayout that contains bunch of vertical Linearlayouts, each one of these vertical Layouts supposed to fit only 25% of the horizontal layout, so it can only contains four ones, so, i want to add a HorizonrtalScrollView to contain the rest of the vertical layouts when it's number is more than four,

i set the WeightSum of the horizontal layout as four so that any vertical layout will take a weight as one, and that will make it fits only 25% of the horizontal layout. everything is ok before adding the HorizonrtalScrollView, consider the following figure (the vertical layouts is the Green colored):

enter image description here

But when adding the HorizonrtalScrollView :

enter image description here

I considered setting the horizontal layout as WrapContent and FillParent but the same result, although the same when setting HorizonrtalScrollView as WrapContent and FillParent .

XML code:

      <HorizontalScrollView 
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content" >
         <LinearLayout 
                       android:layout_width="fill_parent"
                       android:layout_height="wrap_content"
                       android:orientation="horizontal"
                       android:weightSum="4" >

        <LinearLayout
                    android:id="@+id/innerVer1"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:orientation="vertical"
                    android:weightSum="1" >

                    <LinearLayout
                        android:id="@+id/icon1"
                        android:layout_width="wrap_content"
                        android:layout_height="0dp"
                        android:layout_marginLeft="10dp"
                        android:layout_marginRight="5dp"
                        android:layout_marginTop="15dp"
                        android:layout_weight="0.5"
                        android:background="@drawable/ac_overlay"
                        android:orientation="horizontal"
                        android:tag="normal" >
                    </LinearLayout>

                    <LinearLayout
                        android:id="@+id/icon2"
                        android:layout_width="wrap_content"
                        android:layout_height="0dp"
                        android:layout_marginLeft="10dp"
                        android:layout_marginRight="5dp"
                        android:layout_marginTop="15dp"
                        android:layout_weight="0.5"
                        android:background="@drawable/ac_overlay"
                        android:orientation="horizontal"
                        android:tag="normal" >
                    </LinearLayout>
                </LinearLayout>
         <LinearLayout
                    android:id="@+id/innerVer1"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:orientation="vertical"
                    android:weightSum="1" >

                    <LinearLayout
                        android:id="@+id/icon1"
                        android:layout_width="wrap_content"
                        android:layout_height="0dp"
                        android:layout_marginLeft="10dp"
                        android:layout_marginRight="5dp"
                        android:layout_marginTop="15dp"
                        android:layout_weight="0.5"
                        android:background="@drawable/ac_overlay"
                        android:orientation="horizontal"
                        android:tag="normal" >
                    </LinearLayout>

                    <LinearLayout
                        android:id="@+id/icon2"
                        android:layout_width="wrap_content"
                        android:layout_height="0dp"
                        android:layout_marginLeft="10dp"
                        android:layout_marginRight="5dp"
                        android:layout_marginTop="15dp"
                        android:layout_weight="0.5"
                        android:background="@drawable/ac_overlay"
                        android:orientation="horizontal"
                        android:tag="normal" >
                    </LinearLayout>
                </LinearLayout>
                    </LinearLayout>
    </HorizontalScrollView>

Upvotes: 0

Views: 98

Answers (2)

Sush
Sush

Reputation: 3874

change your horizontal view tags attributes with this below

               android:layout_width="fill_parent"
               android:layout_height="wrap_content"

most important attribute

                android:fillViewport="true"

Upvotes: 0

Ana
Ana

Reputation: 831

Did you tried changing Linear layout width attribute to wrap content.

Upvotes: 1

Related Questions