首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >动态int值

动态int值
EN

Stack Overflow用户
提问于 2014-06-05 03:17:57
回答 1查看 238关注 0票数 1

int[]数={ 1,2,3,4,5 };

12行在我的ListView中,

我希望第一项具有数组中最低的索引,最后一项具有数组的最高索引。

原因是因为在第一项和最后一项之间将有一个淡出,我希望它与这5种颜色,无论我有多少个列表项目。

但当,

如果项目= 12,

一号有一号,

2号有1号,

3号有2号,

4号有2号

等等。

如果我有更多的数字或更多的物品呢?我真的很蠢吗?叶利普!

编辑:

第一项: 0%,

最后一项: 100%,

不管有多少东西!

EN

回答 1

Stack Overflow用户

发布于 2014-06-05 11:42:39

我从你的评论中注意到这一点:item.setColorFilter( Color.parseColor( allColors[ ( position / itemCount ) ] ), Mode.SRC_ATOP);

您正在使用position / itemCount。我假设这两个都是整数,这意味着由于位置小于itemCount,这个除法总是返回0。您要做的是在项目列表中找到项目的相对位置。然后,可以使用此位置在数字列表中找到相应的位置。

代码语言:javascript
代码运行次数: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);

希望这能有所帮助!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24051069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档