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。这里记录一下,方便后续查找
之前自己写的已经改了,没有效果图,在网上找了一个效果图如下:(下图是合并了第一第二个单元格的效果)