【问题标题】:Usage of StaggeredGridLayoutManager交错网格布局管理器的使用
【发布时间】:2017-02-13 20:53:28
【问题描述】:

使用 StaggeredGridLayoutManager/GridLayoutManager 如何制作网格 item 垂直两个跨度,水平两个跨度?

【问题讨论】:

  • 在item大小相同的情况下,推荐使用GridView,RecyclerView的StaggeredGridLayoutManager在item大小不同、列或行跨度不同时效果更好
  • 是的,但是如何实现像上面这样的拳头网格项目?

标签: android android-recyclerview


【解决方案1】:

您无法使用 StaggeredGridLayoutManager 执行此操作。这只需使用 GridLayoutManager 即可完成。例如:

GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3, GridLayoutManager.VERTICAL, false);

gridLayoutManager.setSpanSizeLookup(
new GridLayoutManager.SpanSizeLookup() {
    @Override
    public int getSpanSize(int position) {
         return (position == 0 ? 3 : 1);
    }
});

【讨论】: