如何为跨度计数为 2 的 recyclerview 网格布局管理器的对角线列表项着色

Posted

技术标签:

【中文标题】如何为跨度计数为 2 的 recyclerview 网格布局管理器的对角线列表项着色【英文标题】:How to color diagonal list item of recyclerview grid layout manager of span count of 2 【发布时间】:2021-12-31 10:43:32 【问题描述】:

我需要为跨度计数为 2 的网格布局管理器的对角线列表项着色

例如:

一种颜色中的第 0、第 3、第 4、第 7、第 8 等颜色位置 颜色 1th, 2nd, 5th, 6th, 9th, 10th 等等其他颜色的位置

请为此提供任何逻辑,以便为 recyclerview 的项目着色

对应图片

在这张图片中,印地语旁边的项目必须为英语项目着色

【问题讨论】:

我的问题是如何在一种颜色中为第 0、第 3、第 4、第 7、第 8 等位置着色,其余为其他颜色 【参考方案1】:

正如评论中提到的@Pawel,您可以在您的onBindViewHolder 函数中添加以下逻辑:

val mod = adapterPosition % 4
val backgroundColor = if(mod == 0 || mod == 3) color1 else color2
// Set this color to your view

此处color1 将为索引0、3、4、7、8、...处的元素设置,color2 将为其余位置设置。

【讨论】:

这是我问题的确切答案,非常感谢

以上是关于如何为跨度计数为 2 的 recyclerview 网格布局管理器的对角线列表项着色的主要内容,如果未能解决你的问题,请参考以下文章

捏和缩放 RecyclerView 布局以动画和更改布局管理器跨度计数

RecyclerView GridLayoutManager:如何自动检测跨度计数?

如何将 GridLayoutManager 中的项目固定为具有不同跨度计数的父项的开始和结束

如何为包含活动链接的跨度应用css样式[重复]

如何为最后一个元素为 RecyclerView 添加边距?

滚动时如何为 recyclerview 项目设置动画?