GridLayoutManager 如何在下一行显示不同的视图类型

Posted

技术标签:

【中文标题】GridLayoutManager 如何在下一行显示不同的视图类型【英文标题】:GridLayoutManager how to display different view type on next row 【发布时间】:2021-04-13 08:29:56 【问题描述】:

如何配置GridLayoutManager在不同的行显示不同的viewtypes

例如,我有 2 个 viewtypesRecycleView 显示以下内容:

[category] [category] [category]
[category] [item] [item]
[item] [item] [item] [item]

而我想要的是:

[category] [category] [category]
[category]
[item] [item] [item] [item]
[item] [item]

结构很简单,先显示categories,再显示items,如果categories结束,则跳转到下一行。

GridLayoutManager 是否有任何开箱即用的配置来实现此行为?或者我应该写我自己的LayoutManager

【问题讨论】:

你必须检查它是不是类别?如果不是你想做的事 【参考方案1】:

我没有找到开箱即用的解决方案,所以最后我只是添加了空白[category] 来完成该行。

但好的解决方案可能是自定义LayoutManager,但在我的情况下,它与任务相关过于复杂。

如果有人用LayoutManager 发布解决方案,我会将他的答案标记为已接受。

【讨论】:

以上是关于GridLayoutManager 如何在下一行显示不同的视图类型的主要内容,如果未能解决你的问题,请参考以下文章

Android GridLayoutManager 某些item 独站一行

使用带有 GridLayoutManager 的 RecyclerView 的简单 Android 网格示例(如旧的 GridView)

首先按行然后按列填充 GridLayoutManager

recyclerview 中的 GridLayoutManager,元素之间有空间并匹配全宽

Android RecyclerView使用GridLayoutManager间距设置

如何摆脱 GridLayoutManager 项目之间的差距