GridView高度自適應:數據撐滿高度

 需求:

很多情況下GridView設置高度wrap_content就只會顯示一行,數據顯示不全,需要滾動查看後面的數據。設置match_parent又會佔滿一屏使得在它下邊的控件到了不顯示。給他固定高度吧,又不靈活。我們想讓他數據有多少行就顯示多少行,解決方法如下:自定義GridView,重寫onMeasure方法

 

 實現: 

public class LabelGridView extends GridView {

    public LabelGridView(Context context) {
        super(context);
    }
    public LabelGridView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        heightMeasureSpec = View.MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,MeasureSpec.AT_MOST);
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    }
}

 其他問題:

另外有一點需要注意的是,在給GridView設置onItemClickListener的時候,若有點擊item不響應或者不靈敏的情況的話,請檢查是否使用了權重,如果有,可以給他添加一個外層layout,然後把權重移到外層layout。

 

完。

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