Android Gridview 如何保證條目高度空間正好填滿

最近開發一個項目。先說說整體的架構吧 就是下面三個tab 首頁呢上面一個輪播下面是gridvew 的菜單 可是實際開發中發現。grdivew 的才能無法做到填充,都是上下留了很大的空隙。這樣就很影響美觀。所以研究了下如何才能讓上下左右間隙一樣然後內部的子view 正好填滿  最終的實現是這樣的效果


圖標的箭頭部分的空隙都是一樣的 這樣的效果 纔是想要的。 那如何才能實現這個需求呢。 其實就是要根據gridview 的高度來分配 item 的高度 這樣就可以實現這樣的需求

下面貼代碼

LinearLayout gridView;
    public void setGridView(LinearLayout gridView){
        this.gridView=gridView;
    }
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if(convertView==null){
            convertView=View.inflate(context, R.layout.item_menu_grid,null);
        }
        AbsListView.LayoutParams lp=new AbsListView.LayoutParams(android.view.ViewGroup
                .LayoutParams.MATCH_PARENT,(gridview 的高度(這裏gridview如果設置了wrapcontent 那麼你要給他外面包裹一個父控件高度是matchparent然後傳過來這個父控件 計算父控件的高度, 的這樣才知道到底高度是多少)-縫隙的寬度*縫隙個數)/行數);
這樣計算並設置給item 分配好高度就可以實現 這個需求了。。完美!!



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