为textview背景生成随机深色

时间:2017-09-14 09:01:57

标签: android

我有这个来生成颜色:

Random rnd = new Random();
int color = Color.argb(255, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256));
TexV.setBackgroundColor(color);

有效。问题是我的textview文本颜色是白色,当它生成浅色时,用户几乎看不到它的内容。

任何想法如何只产生更暗的颜色?

2 个答案:

答案 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));

它会产生相对较暗的颜色。