不同的卡大小

时间:2016-08-26 16:04:04

标签: android gridview android-recyclerview android-cardview cardview

我怎样才能使recycleView中有不同大小的牌? (1x1,1x2和2x1,其中1是卡片长度) enter image description here

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分: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
    }