Android GridLayout 基于行宽的不同跨度计数

标签 android android-recyclerview gridlayoutmanager

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

enter image description here

如您所见,每一行可能仅根据项目宽度有多个项目,每个项目都是一个具有 wrap_content 宽度的 TextView,但所有项目都具有相同的高度。
我知道可以通过 SpanSizeLookup 设置行跨度,但为此,我应该知道之前的跨度计数,而我的列表行将仅按项目宽度
填充 谁能帮帮我?

最佳答案

使用不同的布局管理器(如 FlexboxLayoutManager https://github.com/google/flexbox-layout)可能会更好

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

github 页面上有很多示例。

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

或者设置 FlexWrap 会根据尺寸自动完成

关于Android GridLayout 基于行宽的不同跨度计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61386835/

相关文章:

android - RecyclerView 的透明背景

android - 在 Recyclerview 之外拖放 View

android - 在 Marshmallow 中使用 GridLayoutManager 处理 Android recyclerview 时遇到问题

android - 在 Android 中只允许 2 个屏幕方向?

android - 如何将 Onclick 监听器添加到回收站 View

java - Android Espresso 测试在物理设备上失败(PerformException)

android - 先填充一列的 Recyclerview 网格布局管理器

Android 列表小部件和项目点击不起作用

android - 从扫描的GS1型条形码中提取信息

Android Studio ProGuard 似乎没有运行