【发布时间】:2014-10-25 19:41:18
【问题描述】:
我正在尝试制作一个滑块,当用户将滑块从一侧滑动到另一侧时,它会随机改变用户界面几个部分的颜色。我有一段代码已经可以使用,但我知道它的效率并不高。我有 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”方法中为每个布局调用此方法的多个版本。可以用这个方案在一个方法中完成吗?
【问题讨论】:
标签: android layout colors switch-statement