我有這樣產生的顏色:生成隨機較深顏色的TextView背景
Random rnd = new Random();
int color = Color.argb(255, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256));
TexV.setBackgroundColor(color);
它的工作原理。問題是我的textview文本顏色是白色的,當它生成淺色時,用戶幾乎看不到它的內容。
任何想法如何產生只有較暗的顏色?
我有這樣產生的顏色:生成隨機較深顏色的TextView背景
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的東西,並且混合顏色值來查看什麼給你最黑暗的顏色。
正是我想說的,月球,但是從我使用Java之後的幾年... – Paul
有一個更簡單的方法。請使用以下代碼代替
int color = Color.argb(255, rnd.nextInt(50), rnd.nextInt(50), rnd.nextInt(50));
它會產生相對較暗的顏色。
如果你想要更深的顏色,當然你不想使用256作爲顏色上限?嘗試將該數字減半。另外(原諒我缺乏這方面的知識,如果我錯了),但肯定你需要改變你的隨機種子? – Paul
查看'顏色#HSVToColor()'方法 – pskink