【问题标题】:Android. StaggeredGridLayoutManager places the cells in the wrong position安卓。 StaggeredGridLayoutManager 将单元格放置在错误的位置
【发布时间】:2021-07-17 03:16:33
【问题描述】:

我使用带有 StaggeredGridLayoutManager 的 recyclerView。我有两列,列中的单元格可以有不同的高度。这些物品的位置很好,但是在某些设备上我注意到了以下问题。假设我有一个元素列表:A、B、C、D、E、F、G、H。在视觉上,它看起来像这样:

我预计 G 元素会位于左列,因为这些元素是从左到右定位的,请告诉我这种行为的可能原因是什么。我需要元素位于左列。 G 元素应该适合左列的空闲位置,但它位于右侧,这对我来说不正确 这仅可在某些设备上播放。 我希望这个元素的顺序,在左栏中:A,C,E,G,在右栏中:B,D,F,H。 我尝试将 gapStrategy 设置为 GAP_HANDLING_NONE,但之后我的项目没有显示:

sglm.gapStrategy = StaggeredGridLayoutManager.GAP_HANDLING_NONE

【问题讨论】:

  • 查看更改

标签: android android-recyclerview staggeredgridlayoutmanager


【解决方案1】:

如果您不希望您的 LayoutManager 填补空白,您可以像这样更改 gapStrategy

    val lm = StaggeredGridLayoutManager(...)

    lm.gapStrategy = StaggeredGridLayoutManager.GAP_HANDLING_NONE

默认处理是

lm.gapStrategy = StaggeredGridLayoutManager.GAP_HANDLING_MOVE_ITEMS_BETWEEN_SPANS

【讨论】:

  • 当我设置 gapStrategy StaggeredGridLayoutManager.GAP_HANDLING_NONE 时,我的元素没有显示。为什么会这样?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 2014-07-07
  • 1970-01-01
  • 2013-02-04
  • 1970-01-01
  • 2011-02-12
  • 1970-01-01
相关资源
最近更新 更多