java - 如何为canvas.drawColor生成随机数的随机颜色

标签 java android android-canvas

我在 Android 开发方面还是个新手,到目前为止我所处理的所有应用程序都与图形无关。现在我正在制作一个显示图表的应用程序,确切地说是饼图,并且我在没有任何第三方库的情况下制作了这个应用程序。 This是我遵循的教程。

现在的问题是我将用来构造图表的数据是动态的,因此要为图表的每个项目分配颜色,我需要为 canvas.drawColor 生成许多随机颜色。颜色的数量当然取决于我在运行时确定的动态数据,并且还需要生成颜色值。 如果生成的颜色是引人注目的鲜艳颜色,那就太好了。

我从未处理过 Canvas ,知道如何做到这一点吗?示例代码将不胜感激。

谢谢

最佳答案

在运行时获得不同且有用的颜色是相当困难的。最好的方法是不要使用太多的随机性,而是制作一个由 20 种固定颜色组成的数组,这些颜色非常不同,并使用 X 个第一个颜色作为数据。如果您需要更多,那么也许可以使用随机 RGB 值来使用真正的随机颜色:

Random r = new Random();
Color c = new Color( r.nextInt(255), r.nextInt(255), r.nextInt(255) );

关于java - 如何为canvas.drawColor生成随机数的随机颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10249103/

相关文章:

java - Docker Java 可用 CPU 内核数

java - 自定义 ListView 没有响应 itemClickListener

Android 解析 "invalid session token"错误

android - 如何获取 Canvas 像素

java - 如何使用 set Location 移动组件

java - SQOOP-password-file选项关闭导致java.io.IOException的文件系统引用:文件系统已关闭

java - iText Java 签名 PDF DocumentException : Not enough space

android - Android 应用程序可以将自身复制到 Root设备上的系统目录吗?

java - 在 android 中用 Canvas 绘制四分之一仪表?

android 使用 XML 布局中的 View 来绘制 Canvas