setSpanSizeLookup-RecyclerView 中一個合併Grid的方法

RecyclerView從出來到現在基本上廣泛使用了,但是對於我這樣的還有很多東西不會用。基本使用包含listview模式和GridView模式,最近使用GridView模式,也就是使用GridLayoutManager 發現了一個有用的方法,可以像word中表格合併單元格一樣使用,合併掉一些單元格。

使用方法,在獲取GridLayoutManager 以後調用一個方法:

//具體使用
gridLayoutManager.(new GridLayoutManager.SpanSizeLookup() {
            @Override
            public int getSpanSize(int position) {
                int type = indexRecyclerView.getAdapter().getItemViewType(position);//獲得返回值
                //LogUtils.e("TAG","type:"+type);
                if (type == 1 || type == 2 || type == 3) {
                    return 2;//佔兩格
                } else {
                    return 1;
                }
            }
        });
//結合RecyclerView適配器的getItemViewType(position) 方法獲取類型。


@Override
    public int getItemViewType(int position) {
        // LogUtils.e("TAG","position-Type:"+position);
        if (position == 0) {
            return TYPE_VIEWPAGER;
        } else if (position == 1) {
            return TYPE_OPERATION;
        } else if (position == 2) {
            return TYPE_GUIDER;
        } else {
            return TYPE_GRIDVIEW;
        }
    }

有了這個方法,我們可以在GridVewi模式下很方便的合併掉某幾個grid。這裏記錄一下,方便後續查找

之前自己寫的已經改了,沒有效果圖,在網上找了一個效果圖如下:(下圖是合併了第一第二個單元格的效果)


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