卡片尺寸不同

Different card size

如何才能让 recycleView 中有不同尺寸的卡片? (1x1、1x2 和 2x1,其中 1 是卡片长度) enter image description here

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

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

在activity中:

//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;
                    }
                }
            }
        });

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

public boolean isHeader(int position) {
        return position == 0;//you can use some other logic in here
    }