Я пытаюсь создать ползунок, который случайным образом изменяет цвет нескольких частей пользовательского интерфейса, когда пользователь перемещает панель с одной стороны на другую. У меня есть часть кода, который уже работает, но я знаю, что это не так эффективно, как могло бы быть. У меня есть 3 из тех же модификаторов компоновки, как показано ниже:случайная цветовая схема с использованием слайдовой панели
private void getLayout2(){
int color = 0;
final Random randColor2 = new Random();
int control = randColor2.nextInt(4);
switch(control){
case 0: color = getResources().getColor(R.color.White);
Log.i(TAG, "color is white");
break;
case 1: color = getResources().getColor(R.color.Red);
Log.i(TAG, "color is red");
break;
case 2: color = getResources().getColor(R.color.Yellow);
Log.i(TAG, "color is yellow");
break;
case 3: color = getResources().getColor(R.color.Blue);
Log.i(TAG, "color is blue");
break;
}
Layout2.setBackgroundColor(color);
return;
}
То, что я хотел бы сделать, это изменить все фона макета в одной и той же части кода, но я не уверен, как это сделать, так как есть только одна цветовая переменная, и я не хочу, чтобы все цвета были одинаковыми в любой момент времени. В настоящее время я просто вызываю несколько версий этого метода для каждого макета в методе «onProgressChanged» слайдера-слушателя. Можно ли это сделать одним методом с этой схемой?