ScrollView與GridView滾動發生衝突

2021-07-11 02:45:12 字數 736 閱讀 6255

當gridview巢狀在scrollview裡時,發現gridview只顯示了一行。這是因為gridview有自己的滾動條,而scrollview也有自己的滾動條,兩者發生了衝突。

解決方法是重寫gridview的onmesure方法,使其不再出現滾動條

public class mygridview extends gridview 

public mygridview(context context, attributeset attrs)

public mygridview(context context, attributeset attrs, int defstyleattr)

@override

protected void onmeasure(int widthmeasurespec, int heightmeasurespec)

}

onmeasure()方法的一些解釋:

measurespc類封裝了父view傳遞給子view的布局(layout)要求。

static int makemeasurespec(int size,int mode) : 根據提供的大小值和模式,建立乙個測量值(格式)

最大模式(measurespec.at_most):這個也就是父元件,能夠給出的最大的空間。

然後在布局檔案中加入mygridview就行。

完美解決ScrollView巢狀GridView

在開發中用到了需要scrollview巢狀gridview的情況,由於這兩款控制項都自帶滾動條,當他們碰到一起的時候便會出問題,即gridview會顯示不全。解決辦法,自定義乙個gridview控制項 public class mygridview extends gridview public m...

ScrollView與ListView的相關問題

在scrollview中套用乙個listview,listview的高度不能全部顯示,這樣就達不到我們所需要的效果,所以在這裡我們需要重新計算listview的高度,網上計算listview的總高度的方法很多,我在這裡總結一下,貼出 public class listviewutil viewgro...

ListView與ScrollView衝突解決方法

眾所周知listview與scrollview都具有滾動能力,對於這樣的view控制項,當scrollview與listview相互巢狀會成為一種問題 問題一 scrollview與listview巢狀導致listview顯示不全面 問題二 scrollview不能正常滑動 解決方式一 scroll...