當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...