在我的代碼中有三種形狀,每次都用相同的顏色填充。現在我想讓他們隨機交換顏色。我如何從這裏到達那裏?現在它將所有形狀設置爲相同的顏色,但我希望它們使用所有顏色並更改矩形的顏色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'和一個方法,然後包含你所問的代碼。請注意,這個**並不意味着在你的應用中發佈每個類。也不意味着發佈包含您所詢問的代碼的整個課程。這意味着要發佈足夠的代碼,以便我們對正在討論的部分有一些上下文。俗話說,儘量簡單但不簡單。 –
你是對的,對不起 –
你怎麼知道什麼時候改變顏色?用戶是否會點擊一個按鈕?你想讓他們在一段時間後改變嗎?或者是什麼? –