我想在第1行中实现1,5和2项的网格布局管理器。我想要2中的一项,我想要5项,然后在其余部分中我想要2项。如何实现这一目标。请帮助我在做相同的编码,但是第二行不能达到5,只有3。
gridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
if (position == 0)
return 5;
else if (position == 1)
return 1;
else
return 2;
}
});
答案 0 :(得分:0)
您没有提及总跨度有多少,但我想是5。
您定义的跨度数应该甚至可以被每个项目的大小整除。因此,可以被1(当然),5和2整除。1 * 5 * 2 = 10,可以做10个跨度。创建10个跨度的GridLayoutManager
。
现在,当您连续只需要一项时,请从setSpanSizeLookup()
返回10。如果要2件,则返回5。对于5件,请返回2。
您的代码将如下所示:
mLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
if (position == 0)
return 10;
else if (position < 6)
return 2;
else
return 5;
}
});