SpanSizeLookup 与 SpanCount 的关系

GridLayoutManager 中,spanCount 定义网格的总列数,而 SpanSizeLookup.getSpanSize(position) 定义每个 Item 占用的列数(格数)。

SpanSize 表示 Item 占用的格数,而非行数。两者含义不同,混淆后将导致布局异常。

示例说明

配置 含义
spanCount = 4 每行共 4 格
ItemA.spanSize = 4 ItemA 占满整行(4/4 = 1 行)
ItemB.spanSize = 1 ItemB 占 1/4 行宽,4 个 ItemB 均分一行

注意事项

SpanSizeLookup 返回值必须能被 spanCount 整除,否则该行剩余格数不足时 Item 会自动换行,导致意外的排列结果。