【问题标题】:Recyclerview grid layout manager that fills one column first首先填充一列的 Recyclerview 网格布局管理器
【发布时间】:2015-07-14 08:35:06
【问题描述】:

我想要一个 recyclerview 布局管理器,它的工作方式类似于具有两列的 GridlayoutManager,但在将项目添加到第二列之前先填充第一列。或者更确切地说,将剩余项目添加到第二列。 有什么建议吗?

【问题讨论】:

  • 你的问题不是很清楚,我无法想象你正在计划什么布局。也许如果你可以添加一幅画? PS.:你检查SpanSizeLookup了吗?
  • @Budius。如果有 10 个项目,1-5 应该进入第 1 列,然后 6-10 进入第 2 列。希望清楚
  • 表示你的grid-recyclerview应该有一个固定的高度??这对于 RecyclerView 没有意义。如果您希望您的项目有选择地排列在您的网格内,一个简单的方法是将它们组织成 2 个子数组并分别更新它们。

标签: android android-recyclerview gridlayoutmanager


【解决方案1】:

没有直接的布局管理器可以为您做到这一点但是,我想重新排序列表或填充适配器的任何数据结构比试图弄乱更好、更容易、更合理与布局管理器。

bindView 期间的一个示例是:

public void onBindViewHolder (VH holder, int position) {
    position = translatePosition(position);
    // then carry on with your normal bind code
}

然后使用一些简单的数学方法创建此方法translatePosition,它将按照您想要/需要的方式重新排序。

【讨论】: