网格布局管理器中的Spancount我想要第1行中的一项,第2行中的5项,每行其余2项

时间:2018-07-23 06:23:51

标签: android android-recyclerview gridlayoutmanager

我想在第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;

        }
    });

enter image description here

1 个答案:

答案 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;

    }
});