如何为跨度计数为 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:如何自动检测跨度计数?