填充所有RecyclerView区域的LayoutManager

时间:2019-01-27 13:10:01

标签: android android-recyclerview layout-manager

我有一个RecyclerView。我想实现以下目标(每个圆圈是一个RecyclerView项目):

enter image description here

每个圆圈的大小可能不同。

我尝试使用GridLayoutManager,但事实证明我需要提供spanCount,这与我的情况不符。

1 个答案:

答案 0 :(得分:1)

对于RecycleView,可以使用GridLayoutManager来实现具有不同单元格跨度的网格形式的RecycleView布局。您会在互联网上找到许多tutorials有关如何实现它的信息。

GridLayoutManager  layoutManager = new GridLayoutManager(this, 6);

layoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
    @Override
    public int getSpanSize(int position) {
        // Use whatever logic you need here to decide how 
        //  many columns to span for any given row position
        if (position % 2)
            return 3;
        else
            return 6;
    }
});

然后在onBindViewHolder中根据需要更新每个视图的LayoutParams.width。