0

我使用带有 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
4

1 回答 1

1

If you don't want your LayoutManager to fill up the gaps, you can change the gapStrategy like this

    val lm = StaggeredGridLayoutManager(...)

    lm.gapStrategy = StaggeredGridLayoutManager.GAP_HANDLING_NONE

default handling is

lm.gapStrategy = StaggeredGridLayoutManager.GAP_HANDLING_MOVE_ITEMS_BETWEEN_SPANS
于 2021-04-22T22:49:34.403 回答