嗨我需要一个gridview,它根据网格单元类型在网格单元格中有两种不同的布局。我在这里给出了在纸上绘制的示例scrren。
答案 0 :(得分:2)
RecyclerView
的用户GridLayoutManager
已设置SpanSizeLookup
。所以它将如下:
int fullSpanSize = 3;
int normalSpanSize = 1;
GridLayoutManager layout = new GridLayoutManager(context, fullSpanSize);
layout.setSpaneSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
return position == 3 ? fullSpanSize : normalSpanSize;
}
});
recyclerView.setLayoutManager(layout);
答案 1 :(得分:0)
您可以使用 StaggeredGridLayoutManager ,然后在适配器覆盖 getItemViewType(int position)方法中根据您的单元格/数据类型返回不同的viewTypes,这样当您在 onCreateViewHolder(ViewGroup parent,final int viewType)您可以根据viewType为单元格选择不同的布局。