我正在尝试使用回收站视图来居中网格布局。
下面列出的代码是我尝试过的,但后来被弄乱了,但并没有真正理解它的工作原理。
图标显示类似于下面的内容。
我想要
GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 6, RecyclerView.VERTICAL, true);
final int totalSize = Cards.size();
gridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
int span;
span = totalSize % 3;
if (totalSize < 3) {
return 6;
} else if (span == 0 || (position <= ((totalSize - 1) - span))) {
return 2;
} else if (span == 1) {
return 6;
} else {
return 3;
}
}
});
recyclerView.setLayoutManager(gridLayoutManager);
答案 0 :(得分:0)
您在getSpanSize中返回的整数指定特定单元格应占用的列宽。从您的代码中,您似乎需要大多数元素占据布局宽度的三分之一
(position <= ((totalSize - 1) - span))
在大多数情况下,该代码返回true,但最后几个单元格除外。我认为您编写的代码有缺陷,并且我无法理解您真正需要什么。如果您有可以共享的图片,那将极大地帮助您获得解决方案的帮助。