Android GridLayout 根据行宽不同的跨度计数

v.d*_*v.d 2 android gridlayoutmanager android-recyclerview

我有一个带有 GridLayoutManager 作为布局管理器的 recyclerview,我想要实现的效果如下图所示

在此输入图像描述

正如您所看到的,每行可能有多个项目,仅基于项目宽度,每个项目都是一个具有wrap_content宽度的 TextView,但所有项目都具有相同的高度。
我知道可以设置行跨度,SpanSizeLookup但为此,我应该知道之前的跨度计数,而我的列表行将仅按项目宽度填充
有人可以帮助我吗?

And*_*rew 11

您可能最好使用不同的布局管理器,例如 FlexboxLayoutManager https://github.com/google/flexbox-layout

它在控制何时换行(自动或手动)方面具有很大的灵活性,并且您可以指定许多关于单个单元格如何增长/收缩以填充一行的控制。

github 页面上有很多示例。

但作为起点,您可以在单元格 3 和 7 之前手动换行,以便在第一行上提供 3,在第二行上提供 4。

或者设置 FlexWrap 将根据尺寸自动执行