1

我怎样才能使它recycleView有不同尺寸的卡片?(1x1、1x2 和 2x1,其中 1 是卡片长度) 在此处输入图像描述

4

2 回答 2

1

您可以创建两个视图持有者。其中一个持有同一行的两张牌,另一个持有整行的一张。它肯定看起来像您发布的图像。要使用多个视图持有者实现回收器视图,请查看

于 2016-08-26T16:07:22.823 回答
0

您可以使用GridLayoutManager不同的跨度计数。
这是一些例子。

活动中:

//Initialize recyclerView and adapter before
GridLayoutManager layoutManager = new GridLayoutManager(this, 2);
recyclerView.setLayoutManager(layoutManager);
recyclerView.setAdapter(adapter);

layoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
            @Override
            public int getSpanSize(int position) {
                    if (adapter.isHeader(position)) {
                        //Returns span count 2 if method isHeader() returns true. 
                        //You can use your own logic here.
                        return  mLayoutManager.getSpanCount()
                    } else {
                         return 1;
                    }
                }
            }
        });

并将此方法添加到您的适配器类:

public boolean isHeader(int position) {
        return position == 0;//you can use some other logic in here
    }
于 2016-08-26T21:06:24.153 回答