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。这里记录一下,方便后续查找

之前自己写的已经改了,没有效果图,在网上找了一个效果图如下:(下图是合并了第一第二个单元格的效果)

setSpanSizeLookup-RecyclerView 中一个合并Grid的方法_第1张图片

你可能感兴趣的:(RecyclerView)