ScrollView嵌套ListView、GridView只顯示一行,psts顯示不出來

我們經常會用到在ScrollView嵌套ListView、GridView,給layout_height設置wrap或者match的時候,結果只顯示一行,而給它設置一個固定的高度雖然能顯示出來,但是會顯示不全,或者空出一段。


原因:ScrollView在計算高度的時候,如果是wrap或者是match就會出錯,結果只顯示一行。


解決方案:定義一個類GridView4ScrollView繼承GridView,然後重寫onMeasure方法

@Override

/**

* 重寫該方法,重新計算GridView高度

* 累計所有行,計算出GridView的最大高度

*/

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

int expandSpec = MeasureSpec.makeMeasureSpec(

Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);

super.onMeasure(widthMeasureSpec, expandSpec);


ListView類似;


PagerSlidingTabStrip放在ScrollView中,ViewPager內容顯示不出來也是類似問題;

解決方案:很簡單,要給ViewPager,layout_height一個固定的高度;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章