我有一个自定义饼图 View ,现在我正在使用
为 for 循环中的每个饼图设置随机颜色color = Color.argb(100, r.nextInt(256), r.nextInt(256), r.nextInt(256));
pie.addItem(PieName, PieValue, color);
正如你可以想象的那样,我有时会得到奇怪的颜色,或者几乎相同的颜色。所以现在我正在考虑使用某些颜色,如何设置一些颜色,例如蓝色,绿色,红色,黄色......然后为 for 循环中的每个饼使用其中一种颜色?
最佳答案
Android 中已有非常有限的调色板(请参阅 here ),但即使这些也缺乏任何类型的收集界面。您有几个选择:
创建要使用的颜色列表,并通过随机偏移访问该列表。如果您正在寻找标准颜色集,请尝试 like this 。代码可能如下所示:
ArrayList<Integer> randColors = new ArrayList<Integer>(); randColors.add(Color.parseColor("#0000FF")); randColors.add(Color.parseColor("BlanchedAlmond")); randColors.add(Color.parseColor("MediumAquaMarine"));
以可预测的方式增加颜色。我在 Python 中编写过一次这段代码,但如果它对您有用,您可以轻松转换它:
STEPS = 6 BIG = 0x330000 MED = 0x003300 SMA = 0x000033 count = 1 num = 0x000000 for k in range(0, STEPS): for j in range(0, STEPS): for i in range(0, STEPS): num = ( k * BIG ) + ( j * MED ) + ( i * SMA ) print phex(num) count += 1 def phex(num): return "0x%0.6X" % num
关于android - 如何在 For 循环中添加随机颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20906250/