我正在尝试使用GridLayoutManager实现RecyclerView,以实现以下行为:
-------------
| |
| |
-------------
| | |
| | |
-------------
| | |
| | |
-------------
| | |
| | |
-------------
| | |
| | |
-------------
这个想法是,第一项始终占据整行,然后下一行分为 3 个空间,有 2 个项目,一个项目的权重为 2,另一个项目的权重为 1(类似于 LinearLayout)。
我怎样才能完成这样的行为?
我想通了,正如塞尔文所建议的那样,我查找了自定义布局管理器,发现覆盖方法getSpanSize()对我有用。
layoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
Category item = mCategories.get(position);
return item.weight;
}
});