我使用 GridLayoutManager 将项目垂直放置在 RecyclerView 中。
每个项目占用一个跨度。
现在我想要一些项目结束当前行,所以下一个项目放在它下面的新行上。每个项目必须只能占据一个跨度,以便它们都是相同的宽度。
例子:
item[4] 将被放置在下一行,而不是 item[3] 之后。 item[3] 后的空格应留空。
我尝试使用 SpanSizeLookup,但它的 span index
对我来说没有任何意义,任何值(value)似乎都没有做任何事情。
有人可以提出解决方案吗?
最佳答案
GridLayoutManager manager = new GridLayoutManager(getContext(), 3, LinearLayoutManager.VERTICAL, false);
manager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
return position == 3 ? 3 : 1;
}
});
每个元素的跨度大小默认为 1,只需为自定义跨度查找中的位置返回所需的跨度大小。
关于android - RecyclerView - 如何让 GridLayoutManager 强制在下一行放置一些项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48862640/