我有这个来生成颜色:
Random rnd = new Random();
int color = Color.argb(255, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256));
TexV.setBackgroundColor(color);
有效。问题是我的textview文本颜色是白色,当它生成浅色时,用户几乎看不到它的内容。
任何想法如何只产生更暗的颜色?
答案 0 :(得分:2)
首先,对于真正的随机颜色,您应该使用System.currentTimeMillis()
作为种子。始终保证生成新的随机序列。
其次,如果你想要深色,你应该使用较低的边界。在每种颜色上将它们设置为255,也可以显示明亮的颜色。如果你想要深色,你必须使用下限。我不知道你想要背景的如何黑暗所以我不打算提供一个数字,你必须自己解决这个问题。但至少150的限制应该产生一些暗色,但如果你想要真正的深色,100或50可能会更好。你需要尝试找到好的限制,我诚实地建议你使用像Paint.net这样的东西并混合颜色值来看看是什么给你最黑的颜色。
答案 1 :(得分:1)
有一种更简单的方法。请改用以下代码
int color = Color.argb(255, rnd.nextInt(50), rnd.nextInt(50), rnd.nextInt(50));
它会产生相对较暗的颜色。