概述:
今天在开发中遇上这样一个布局问题,需要在表格中实现隔行换色功能,如下图所示:
隔行换色效果图
分析
拿到图后先不急着敲代码,先来分析一波
1.效果图上需要的是奇数行显示浅绿色,偶数行显示白色
2.表格有6行6列,一共有36个格子,第一行和第一列都是固定展示的内容,其余的格子是会变动的数据
3.格子的位置position是从0开始的(这个不懂的你就去查查adapter吧。。。。做开发都应该懂吧。。。)
4.最后,我们将得到的分析结果转换为数据画像,因为这样比较通俗易懂
PS:表格的制作和数据的填充这里就不细说了,本文的目标是实现隔行换色功能
利用excel制作一个6*6的表格,然后填上每个格子代表的位置
image.png
从excel表格可以得知到:
需要变换浅绿色的是格子位置为0-5,12-17,24-29
需要变换白色的是格子位置为6-11,18-23,30-35
因此,我们只需计算出对应格子的位置,然后将其更换颜色即可!
例如:
需要将0-5的格子换成浅绿色,即换色的格子位置不能大于第五的格子位置,利用公式计算:格子位置 / 6 ,得知第五个格子=第五个格子位置 / 6 = 5/6 ≈ 0.83 而第六个格子结果是1,所以只要小于1的范围,就可以把那个格子换成浅绿色。
同理,将12-17的格子换成浅绿色,计算第12个格子:12 / 6 = 2 和 计算第18个格子:18 / 6 = 3,因此在大于等于2小于3的范围,就是12-17的格子。










网友评论