0

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

        }
    });

在此处输入图像描述

4

1 回答 1

0

你没有提到你有多少总跨度,但我猜它是 5。

您定义的跨度数甚至应该可以被每个项目的大小整除。因此,可以被 1(当然)、5 和 2 整除。1*5*2=10,10 个跨度就可以了。GridLayoutManager用 10 个跨度创建你的。

现在,当您只需要一行中的一项时,请从setSpanSizeLookup(). 如果您想要 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;

    }
});
于 2018-07-23T11:46:21.657 回答