androidandroid-layoutandroid-gridviewandroid-scrollbar

Scrollbar + LinearLayout + GridView .. GridView not scrolling


My Current Layout is

enter image description here

<?xml version="1.0" encoding="utf-8"?>

<ScrollView
    android:id="@+id/scrMain"
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    android:layout_gravity="top"
    android:fillViewport="true" >


    <RelativeLayout
        android:id="@+id/rl"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

        <RelativeLayout
            android:id="@+id/llGridToday"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical" android:visibility="gone">

            <FrameLayout
                android:id="@+id/FrameLayout1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true" >

                <ImageView
                    android:id="@+id/imageView2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/gridframe" />

                <FrameLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="right"
                    android:layout_marginRight="10dp"
                    android:layout_marginTop="10dp"
                    android:background="@drawable/calender" >

                    <TextView
                        android:id="@+id/txtDateToday"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:gravity="center"
                        android:text="28" />
                </FrameLayout>

                <TextView
                    android:id="@+id/textView1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="10dp"
                    android:layout_marginTop="3dp"
                    android:text="Today"
                    android:textColor="#000" />
            </FrameLayout>

            <GridView
                android:id="@+id/gridToday"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_alignParentLeft="true"
                android:layout_below="@+id/FrameLayout1"
                android:layout_weight="1"
                android:numColumns="3" >
            </GridView>
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/llGridTomorrow"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_below="@id/llGridToday"
            android:orientation="vertical" android:visibility="gone">

            <FrameLayout
                android:id="@+id/FrameLayout1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true" >

                <ImageView
                    android:id="@+id/ImageView01"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/gridframe" />

                <FrameLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="right"
                    android:layout_marginRight="10dp"
                    android:layout_marginTop="10dp"
                    android:background="@drawable/calender" >

                    <TextView
                        android:id="@+id/txtDateTomorrow"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:gravity="center"
                        android:text="28" />
                </FrameLayout>

                <TextView
                    android:id="@+id/TextView02"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="10dp"
                    android:layout_marginTop="3dp"
                    android:text="Tomorrow"
                    android:textColor="#000" />
            </FrameLayout>

            <GridView
                android:id="@+id/gridTomorrow"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_alignParentLeft="true"
                android:layout_below="@+id/FrameLayout1"
                android:layout_weight="1"
                android:numColumns="3" >
            </GridView>
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/llGridMonth"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/llGridTomorrow"
            android:orientation="vertical" android:visibility="gone">

            <FrameLayout
                android:id="@+id/FrameLayout1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true" >

                <ImageView
                    android:id="@+id/ImageView02"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/gridframe" />

                <TextView
                    android:id="@+id/TextView03"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="5dp"
                    android:layout_marginTop="2dp"
                    android:text="This Month"
                    android:textColor="#000" />
            </FrameLayout>

            <GridView
                android:id="@+id/gridMonth"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_below="@+id/FrameLayout1"
                android:numColumns="3" android:stretchMode="columnWidth">
            </GridView>
        </RelativeLayout>
    </RelativeLayout>
</ScrollView>

This Layout contains three GridViews. I am making Parent RelativeLayouts of GridViews visible with logic and adding inflated ImageView + TextView to GridView.

Its looking fine. but no scrolling is there.


Solution

  • yeah what is the point of having three different GridView. Just Create a single GridView as parent and have an separate layout for GridItem so you can style it the way you need to.

    UPDATE

    isn't something like this will work for you???

    one layout with following code

            <GridView 
                android:id="@+id/gridTomorrow" 
                android:layout_width="match_parent" 
                android:layout_height="wrap_content" 
                android:layout_alignParentBottom="true" 
                android:layout_alignParentLeft="true" 
                android:layout_below="@+id/FrameLayout1" 
                android:layout_weight="1" 
                android:numColumns="3" > 
            </GridView>
    

    and another Layout for GridItem

            <FrameLayout   
                android:id="@+id/FrameLayout1"   
                android:layout_width="match_parent"   
                android:layout_height="wrap_content"   
                android:layout_alignParentLeft="true"   
                android:layout_alignParentTop="true" >   
    
                <ImageView   
                    android:id="@+id/ImageView01"   
                    android:layout_width="wrap_content"   
                    android:layout_height="wrap_content"   
                    android:src="@drawable/gridframe" />   
    
                <FrameLayout   
                    android:layout_width="wrap_content"   
                    android:layout_height="wrap_content"   
                    android:layout_gravity="right"   
                    android:layout_marginRight="10dp"   
                    android:layout_marginTop="10dp"   
                    android:background="@drawable/calender" >   
    
                    <TextView   
                        android:id="@+id/txtDateTomorrow"   
                        android:layout_width="wrap_content"   
                        android:layout_height="wrap_content"   
                        android:layout_gravity="center"   
                        android:gravity="center"   
                        android:text="28" />   
                </FrameLayout>   
    
                <TextView   
                    android:id="@+id/TextView02"   
                    android:layout_width="wrap_content"   
                    android:layout_height="wrap_content"   
                    android:layout_marginLeft="10dp"   
                    android:layout_marginTop="3dp"   
                    android:text="Tomorrow"   
                    android:textColor="#000" />   
            </FrameLayout> 
    

    using an GridAdapter Inflate your GridItems into grid