2017-01-16 85 views
-1

我在我的應用程序,需要按照以下順序執行的活動:ScrollView中GridView的當前解決方案?

<TextView /> 
<ExitText /> 
<GridView /> 
<Button /> 

我希望它們都處於ScrollView,使得用戶可以(必須)查看所有項目在GridView前擊中Button。問題是GridView有它自己的滾動機制,將它們嵌套在ScrollView之內是沒有意義的。我想擴大GridView,這樣它就會失去滾動效果,並顯示其所有內容。我在SO上看到了一些解決方案,這些解決方案有一些代碼來實現自定義GridView,但那些都很舊。 Android API目前是否支持我所描述的內容?

+0

爲什麼不使用比'GridView'其他的東西,如'GridLayout','TableLayout','LinearLayout',或'ConstraintLayout'?或者,爲什麼不用一個'RecyclerView',一個'GridLayoutManager'來替換所有這些(包括'ScrollView'),以及定義內容佔用多少單元格的自定義規則(所以你的'TextView','EditText'和'Button'可以佔用足夠的單元格以跨越一行)? – CommonsWare

+0

@CommonsWare嗯,謝謝,我會研究它。但是,我將失去使用適配器和自定義網格視圖項目的能力..或者我會嗎? –

+0

不在'RecyclerView'場景中,因爲它使用了適配器隱喻(雖然不是'GridView'使用的'Adapter'類)。 – CommonsWare

回答

0

您可以通過將所有內部放入一個RelativeLayout來實現它,然後將RelativeLayout放入ScrollView中。這裏是例子:

<ScrollView> 
<RelativeLayout> 
<TextView /> 
<ExitText /> 
<GridView /> 
<Button /> 
<RelativeLayout/> 
<ScrollView/> 
+0

謝謝,我會檢查出來。介意解釋爲什麼這會起作用? –

+0

請避免將可滾動視圖放在另一個視圖內。 –