在我的代码中有三种形状,每次都用相同的颜色填充。现在我想让他们随机交换颜色。我如何从这里到达那里?现在它将所有形状设置为相同的颜色,但我希望它们使用所有颜色并更改矩形的颜色android - drawRectangle colors
我在我的代码中收到错误usedColors.add(Color.paint);
它说'方法add(int,Color)in the型列表不适用的参数(INT)”
在paint.setColor(usedColors.get(x));
那里它给出了‘在类型涂料的方法的setColor(INT)是不适用的参数(字符串)’
public class MainActivity extends Activity {
private Paint paint = new Paint();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Canvas canvas = new Canvas();
paint.setAntiAlias(true);
List<Color> usedColors = new ArrayList<>();
Random rand = new Random();
int colorsFound = 0;
while(colorsFound < 3) {
int rando = rand.nextInt(3) + 1;
switch (rando) {
case 1:
if (!usedColors.contains("yellow")) {
colorsFound++;
usedColors.add(Color.YELLOW);
} else {
continue;
}
break;
case 2:
if (!usedColors.contains("green")) {
colorsFound++;
usedColors.add(Color.GREEN);
} else {
continue;
}
break;
case 3:
if (!usedColors.contains("red")) {
colorsFound++;
usedColors.add(Color.RED);
} else {
continue;
}
break;
}
}
Paint paint = new Paint();
paint.setColor(usedColors.get(0));
canvas.drawRect((float) ((float) canvas.getWidth()/50), (float) (canvas.getHeight()/1.32), canvas.getWidth()/15, (float) (canvas.getHeight()/2.8), paint);
paint.setColor(usedColors.get(1));
canvas.drawRect((float) (canvas.getWidth()/1.067), (float) (canvas.getHeight()/1.32), (float) (canvas.getWidth()/1.02), (float) (canvas.getHeight()/2.8), paint);
paint.setColor(usedColors.get(2));
canvas.drawRect((float) (canvas.getWidth()/10), (float) (canvas.getHeight()/3), (float) (canvas.getWidth()/1.1), (float) (canvas.getHeight()/3.35), green);
请发表一个完整的例子。这意味着你的代码应该看起来像一个Java程序。特别是,你应该在该类中有一个'class'和一个方法,然后包含你所问的代码。请注意,这个**并不意味着在你的应用中发布每个类。也不意味着发布包含您所询问的代码的整个课程。这意味着要发布足够的代码,以便我们对正在讨论的部分有一些上下文。俗话说,尽量简单但不简单。 –
你是对的,对不起 –
你怎么知道什么时候改变颜色?用户是否会点击一个按钮?你想让他们在一段时间后改变吗?或者是什么? –