Полоса прокрутки + LinearLayout + GridView .. GridView не прокручивается - PullRequest
0 голосов
/ 29 марта 2012

Мой текущий макет:

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>

Этот Layout содержит три GridViews.Я делаю Parent RelativeLayout s из GridViews видимым с помощью логики и добавляю надутые ImageView + TextView к GridView.

Это выглядит хорошо.но там нет прокрутки.

Ответы [ 2 ]

2 голосов
/ 29 марта 2012

да какой смысл иметь три разных GridView. Просто создайте один GridView в качестве родительского и выделите отдельный макет для GridItem, чтобы вы могли оформить его так, как вам нужно.

UPDATE

не так ли это будет работать для вас ???

одна раскладка со следующим кодом

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

и другой макет для 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> 

используя GridAdapter Inflate ваш GridItems в сетку

0 голосов
/ 29 марта 2012

Не знаю, зачем вам нужны три разных GridView.

Попробуйте сделать GridView родителем и добавить остальные элементы View в качестве заголовков GridView.

...