Android 为textview背景生成随机深色

Android 为textview背景生成随机深色,android,Android,我有这个来生成颜色: Random rnd = new Random(); int color = Color.argb(255, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256)); TexV.setBackgroundColor(color); 它起作用了。问题是我的textview文本颜色是白色的,当它生成浅色时,用户几乎看不到它的内容 您知道如何只生成较暗的颜色吗?首先,对于真正的随机颜色,您应该使用System.currentT

我有这个来生成颜色:

Random rnd = new Random();
int color = Color.argb(255, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256));
TexV.setBackgroundColor(color);
它起作用了。问题是我的textview文本颜色是白色的,当它生成浅色时,用户几乎看不到它的内容


您知道如何只生成较暗的颜色吗?

首先,对于真正的随机颜色,您应该使用
System.currentTimeMillis()
作为种子。它总是保证生成一个新的随机序列


其次,如果你想要深色,你应该使用一个较低的边界。将每种颜色的颜色设置为255,也可以显示明亮的颜色。如果你想要深色,你必须使用一个下限。我不知道你想要背景有多暗,所以我不提供数字,你得自己弄清楚。但至少150个上限应该会产生一些深色,不过如果你想要真正的深色,100或50可能更好。您需要进行实验以找到好的极限,我真诚地建议您使用类似于Paint.net的工具,并混合颜色值,以查看哪些颜色最暗。

首先,对于真正的随机颜色,您应该使用
System.currentTimeMillis()
作为种子。它总是保证生成一个新的随机序列


其次,如果你想要深色,你应该使用一个较低的边界。将每种颜色的颜色设置为255,也可以显示明亮的颜色。如果你想要深色,你必须使用一个下限。我不知道你想要背景有多暗,所以我不提供数字,你得自己弄清楚。但至少150个上限应该会产生一些深色,不过如果你想要真正的深色,100或50可能更好。你需要通过实验来找到好的极限,我真诚地建议你使用类似于Paint.net的东西,混合颜色值,看看什么能给你最暗的颜色。

有一种更简单的方法。请使用以下代码

int color = Color.argb(255, rnd.nextInt(50), rnd.nextInt(50), rnd.nextInt(50));

它产生相对较暗的颜色。

有一种更简单的方法。请使用以下代码

int color = Color.argb(255, rnd.nextInt(50), rnd.nextInt(50), rnd.nextInt(50));

它生成相对较暗的颜色。

如果您想要较暗的颜色,您肯定不想使用256作为颜色上限?试着把这个数字减半。另外(如果我错了,请原谅我在这方面缺乏知识),但您肯定需要更改您的随机种子?请参阅
Color\HSVToColor()
method如果您想要较深的颜色,您肯定不想使用256作为颜色上限?试着把这个数字减半。另外(如果我错了,请原谅我在这方面缺乏知识),但您肯定需要更改您的随机种子吗?请参阅
Color\HSVToColor()
method正是我想说的,Lunar,但我使用Java已经有几年了…正是我想说的,Lunar,但我已经使用Java几年了。。。