Scrollbar + LinearLayout + GridView .. GridView不滚动

时间:2012-03-29 19:43:50

标签: android android-layout android-gridview android-scrollbar

我当前的布局是

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。 我正在通过逻辑显示RelativeLayout的{​​{1}}个父GridViews,并向ImageView添加了TextView + GridView。{/ p>

它看起来很好。但是没有滚动。

2 个答案:

答案 0 :(得分:2)

是的,有三个不同的GridView是什么意思。只需创建一个GridView作为父级,并为GridItem设置单独的布局,以便您可以按照自己的方式设置样式。

<强>更新

不是这样会对你有用吗???

一个包含以下代码的布局

        <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进入网格

答案 1 :(得分:0)

不确定为什么需要三个不同的GridView

尝试将GridView设为父项,然后将其余View项添加为GridView的标题。