RecyclerView网格布局如何动态设置item的显示个数
android开发中,RecyclerView实现列表网格效果时,有时候有需求需要实现网格的显示个数不同,如何通过代码进行设置呢,需要使用到网格布局的setSpanSizeLookup()方法。
比如在GridLayoutManager设置显示的4列,在id为单数的时候显示2列,双数的时候显示4列,通过setSpanSizeLookup设置如下:
RecyclerView.LayoutManager layoutManager = new GridLayoutManager(getApplicationContext(), 4);((GridLayoutManager) layoutManager).setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {@Overridepublic int getSpanSize(int position) {ItemBean item = list.get(position);if(menuBean.getId()%2==0){return 2;}else{return 1;}}});
实例中一行划分成了4列,id为单数的时候显示2列那么每列占2份,id为双数的时候显示4列,每列占1份