私のコードには、毎回同じ色で塗りつぶされた3つの図形があります。今私は彼らが色をランダムに入れ替えることを望みます。ここからどうやってそこに着きますか?今すぐすべての図形を同じ色に設定しますが、すべての色を使用して四角形の色を変更したい場合android-drawRectangle colors
私のコードにはusedColors.add(Color.paint);
というエラーが表示されます。タイプのリストは、メソッドsetColorを「それが出ていますがpaint.setColor(usedColors.get(x));
で
『引数(int型)には適用されません型ペイントで(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'とメソッドを持たなければなりません。それはあなたが求めているコードを含んでいます。 **この**はあなたのアプリにすべてのクラスを投稿するわけではないことに注意してください。あなたが求めているコードを含むクラス全体を投稿することも意味しません。これは、あなたが話している部分にいくつかのコンテキストがあることを示す十分なコードを投稿することを意味します。言い換えれば、できるだけシンプルにしてください。 –
あなたは正しいです、ごめんなさい –
色をいつ変更するのかあなたはどのように知っていますか?ユーザーはボタンをクリックしますか?一定の時間が経過した後でそれらを変更しますか?または何? –