Создать случайный цвет Java

Я пытаюсь создать случайный цвет, произвольно генерируя числа для значений R, G и B с генератором случайных чисел и используя значения для создания цвета. Следующий код в моем onCreate() :

 Random rand = new Random(); // Java 'Color' class takes 3 floats, from 0 to 1. float r = rand.nextFloat(); float g = rand.nextFloat(); float b = rand.nextFloat(); Color randomColor = new Color(r, g, b); 

Почему eclipse говорит мне: «Конструктор Color(float, float, float) не определен»? Не должно ли это работать правильно?

Solutions Collecting From Web of "Создать случайный цвет Java"

Вы должны использовать nextInt (int n): int для генерации случайного целого числа от 0 до 255. (обратите внимание, что в соответствии с API диапазон не проверяется в цветовых методах, поэтому, если вы не ограничите его сами, вы получите Недопустимые значения цвета)

 // generate the random integers for r, g and b value Random rand = new Random(); int r = rand.nextInt(255); int g = rand.nextInt(255); int b = rand.nextInt(255); 

Затем получите значение цвета int со статическим методом Color.rgb (r, g, b): int . Единственный конструктор, который существует для android.graphics.Color является конструктором без аргументов.

 int randomColor = Color.rgb(r,g,b); 

Наконец, в качестве примера, используйте метод setBackgroundColor (int c): void, чтобы установить цвет фона в представление.

 View someView.setBackgroundColor(randomColor); 
 public int randomColor(int alpha) { int r = (int) (0xff * Math.random()); int g = (int) (0xff * Math.random()); int b = (int) (0xff * Math.random()); return Color.argb(alpha, r, g, b); } 

Это может помочь?

http://developer.android.com/reference/android/graphics/Color.html

Color()

Конструктор не принимает никаких параметров

использование

public static int rgb (int red, int green, int blue)

Возврат color-int из красных, зеленых, синих компонентов. Альфа-компонент – это импликация 255 (полностью непрозрачная). Эти значения компонентов должны быть [0..255], но проверка диапазона не выполняется, поэтому, если они находятся за пределами допустимого диапазона, возвращаемый цвет не определен.

Параметры красный Красный компонент [0..255] цвета зеленый зеленый компонент [0..255] цвет синий синий компонент [0..255] цвета

использование

 Random rand = new Random(); int r = rand.nextInt(255); ...// rest of the code int randomcolor = Color.rgb(r,g,b); // takes int as param 

Метод Makeuse of Color.rgb ()

 Color.rgb((randval)r,(randval)g,(randval)b); 

Для генерации случайного цвета.

Если конструктор Color (float, float, float) не определен, чем преобразовать его в int like.

 Random rand = new Random(); // Java 'Color' class takes 3 floats, from 0 to 1. float r = rand.nextFloat(); float g = rand.nextFloat(); float b = rand.nextFloat(); int Red = Integer.parseInt(String.valueOf(r)); int Green= Integer.parseInt(String.valueOf(g)); int Blue= Integer.parseInt(String.valueOf(b)); Color randomColor = new Color(Red , Green, Blue); 

Но не знаю, что это работает или нет, если не работает, попробуйте это:

 Random rand = new Random(); int r = rand.nextInt(255); int g = rand.nextInt(255); int b = rand.nextInt(255); Color randomColor = new Color(r, g, b); 

Он должен работать, но если он не работает, тогда комментируйте.