2012-03-29 123 views
0

我目前的佈局是滾動+的LinearLayout + GridView控件.. GridView控件不滾動

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。 我正在製作GridViews的 s的邏輯並添加虛擬ImageView + TextViewGridView

它看起來不錯。但沒有滾動。

+0

把滾動的東西在滾動這樣的事情很少的作品。特別是'ScrollView'很少能用垂直滾動的東西,比如'GridView'。 – CommonsWare 2012-03-29 21:24:52

+0

只有當屏幕流出屏幕時,GridView纔是可以改變的(默認情況下)....那麼您可能會想到使用持有者來保存數據。 – 2012-03-30 03:34:24

回答

2

是啊有什麼要點有三個不同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> 

使用GridAdapterInflateGridItems到電網

+0

根據當前邏輯..包含2個gridViews的上述RelativeLayouts都明顯地消失了......但是3個gridviews必須按照我在下面的macarse評論的回覆中提到的方式進行操作 – 2012-03-29 19:54:17

+0

我很難理解佈局背後的邏輯@Vishal has發佈。其他人是否有任何意義呢? – Mayank 2012-03-29 19:56:30

+0

請解釋你的功能需求,這樣我才能理解邏輯。謝謝 – Mayank 2012-03-29 19:57:50

0

不知道爲什麼你需要三種不同的GridView

試着製作GridView父母,並將View項的其餘部分作爲GridView的標頭添加。

+0

@Macarase ..所有三個視圖是針對不同類型的數據和點擊處理的數據也是不同的所有3個gridview項目..所以我認爲這是必須有3個差異。 gridviews .. – 2012-03-29 19:52:23

+0

@Vishal:嘗試在同一個'GridView'中添加每個類型。 – Macarse 2012-03-29 19:57:17