使用RecyclerView创建每行列数不一样或多列的视图
设置每行生成几列
GridLayoutManager gridLayoutManager = new GridLayoutManager(this.getContext(), 2);
这里设置的是每行分为2列,再使用 gridLayoutManager.setSpanSizeLookup方法去设置每个数据要占的列数。这里要注意要先配置好Adapter,否则setSpanSizeLookup方法不会被执行。
adapter = new myAdapter(R.layout.recycler_item,mylist);
recycler_baby.setAdapter(babyAddAdapter);
GridLayoutManager gridLayoutManager = new GridLayoutManager(this.getContext(), 2);
gridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
//计算在哪个position时要显示1列数据,即columnCount / 1列 = 4格,即1列数据占满4格
if (position == babylist.size()-1&&babylist.size()%2==1) {
return 2;
}
return 1;
}
});
recycler_baby.setLayoutManager(gridLayoutManager);
这里的代码是讲数据分为两列,当数据数量为单数时,最后一个数据占满正行。