2013-04-16 71 views
0

我有一個片段textView給出的說明,並在gridView下面。我想讓textView向上滾動gridView。換句話說:當gridView正在滾動時,textView在屏幕上消失。試圖讓textView堅持gridView滾動

我的想法是如何實現gridView的固定高度,使整個佈局可以滾動 - 包括textView。但是,直到我無法實現這一點。有沒有辦法做到這一點?

佈局沒有滾動:

Layout no scroll

當滾動:

When scrolled:

任何幫助/建議將不勝感激。

我的佈局XML:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@color/LightGrey" 
    android:gravity="center_horizontal|center_vertical" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/chooseLine" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_margin="18dp" 
     android:text="@string/chooseLine" 
     android:textAppearance="?android:attr/textAppearanceLarge" /> 

    <GridView 
     android:id="@+id/gridLayout" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:columnWidth="130dp" 
     android:fitsSystemWindows="false" 
     android:gravity="center" 
     android:horizontalSpacing="5dp" 
     android:numColumns="auto_fit" 
     android:paddingTop="0dp" 
     android:stretchMode="columnWidth" 
     android:verticalSpacing="25dp" /> 

</LinearLayout> 
+1

我想嘗試設置gridView layout_height =「wrap_content」,那麼你的linearLayout應該允許你滾動,這個問題就是你的網格視圖一次創建所有的視圖,而不是回收它們。 – Eluvatar

回答

1

實現,這是不打算是微不足道的。您需要的是ListView添加標題視圖的功能,但不幸的是,GridView不提供該功能。

我在過去解決這個問題的做法是將GridView轉換爲ListView,然後將標題添加到ListView。我創建了一個包裝適配器,該適配器採用原始適配器並將水平行的網格單元格組合到單個列表行中。

棘手的部分包括:根據屏幕寬度動態調整行中的列數,計算行內視圖類型的所有組合和最後一行中剩餘的空列,以及正確處理點擊交互。

1

把整個的LinearLayout在滾動型(How to use ScrollView in Android?)和GridView控件設置機器人:layout_height = 「WRAP_CONTENT」

+1

這是一個壞主意,許多人都在SO,Android博客等上反對。 GridView本身滾動,並沒有內在的內容高度,所以wrap_content不會幫助你。 – Jschools

+0

我已經無意中發現了這個問題:http://stackoverflow.com/questions/4523609/grid-of-images-inside-scrollview/4536955#4536955 其中說明我的問題(我想我以前看起來不夠堅硬張貼)。 我會試試這個,但我很懷疑。 – markbratanov

+0

這最終爲我工作最好:http://stackoverflow.com/a/8483078/537089 – markbratanov