int[]数={ 1,2,3,4,5 };
12行在我的ListView中,
我希望第一项具有数组中最低的索引,最后一项具有数组的最高索引。
原因是因为在第一项和最后一项之间将有一个淡出,我希望它与这5种颜色,无论我有多少个列表项目。
但当,
如果项目= 12,
一号有一号,
2号有1号,
3号有2号,
4号有2号
等等。
如果我有更多的数字或更多的物品呢?我真的很蠢吗?叶利普!
编辑:
第一项: 0%,
最后一项: 100%,
不管有多少东西!
发布于 2014-06-05 03:42:39
我从你的评论中注意到这一点:item.setColorFilter( Color.parseColor( allColors[ ( position / itemCount ) ] ), Mode.SRC_ATOP);
您正在使用position / itemCount
。我假设这两个都是整数,这意味着由于位置小于itemCount,这个除法总是返回0。您要做的是在项目列表中找到项目的相对位置。然后,可以使用此位置在数字列表中找到相应的位置。
double pos = (double)position/(double)itemCount; // item 5 has 5/12 = 0.42
int colorPos = pos*allColors.length(); // Find position based on number of colors
// item 5: 0.42*5 = 2.1, cast to int ->2. 5 gets color at index 2
item.setColorFilter( Color.parseColor( allColors[ (colorPos) ] ), Mode.SRC_ATOP);
希望这能有所帮助!
https://stackoverflow.com/questions/24051069
复制相似问题