5
我做了一個簡單的繪圖應用程序,可以在畫布上繪製線條。現在我想添加各種顏色選擇按鈕。現在我遇到的問題是,如果我點擊一個顏色按鈕並繼續繪製所有先前繪製的線條,也會將其顏色更改爲新選擇的顏色。用多種顏色在畫布上繪畫
我發現了一些關於使用油漆(或路徑)列表的論壇帖子。但是,我不能完全理解解決方案。任何人都可以發佈一個工作示例的代碼?
非常感謝您提前。
我做了一個簡單的繪圖應用程序,可以在畫布上繪製線條。現在我想添加各種顏色選擇按鈕。現在我遇到的問題是,如果我點擊一個顏色按鈕並繼續繪製所有先前繪製的線條,也會將其顏色更改爲新選擇的顏色。用多種顏色在畫布上繪畫
我發現了一些關於使用油漆(或路徑)列表的論壇帖子。但是,我不能完全理解解決方案。任何人都可以發佈一個工作示例的代碼?
非常感謝您提前。
試試這個, 我做了它,它爲我的作品馬麗娟。
public void onClick(View view){
switch (view.getId()){
case R.id.colorRedBtn:
//Toast.makeText(getApplicationContext(), "Red", Toast.LENGTH_SHORT).show();
currentPaint = new Paint();
currentPaint.setColor(0xFFFF0000);
currentPaint.setDither(true);
currentPaint.setStyle(Paint.Style.STROKE);
currentPaint.setStrokeJoin(Paint.Join.ROUND);
currentPaint.setStrokeCap(Paint.Cap.ROUND);
currentPaint.setStrokeWidth(3);
break;
case R.id.colorBlueBtn:
//Toast.makeText(getApplicationContext(), "Green", Toast.LENGTH_SHORT).show();
currentPaint = new Paint();
currentPaint.setColor(0xFF00FF00);
currentPaint.setDither(true);
currentPaint.setStyle(Paint.Style.STROKE);
currentPaint.setStrokeJoin(Paint.Join.ROUND);
currentPaint.setStrokeCap(Paint.Cap.ROUND);
currentPaint.setStrokeWidth(3);
break;
case R.id.colorGreenBtn:
//Toast.makeText(getApplicationContext(), "Blue", Toast.LENGTH_SHORT).show();
currentPaint = new Paint();
currentPaint.setColor(0xFF0000FF);
currentPaint.setDither(true);
currentPaint.setStyle(Paint.Style.STROKE);
currentPaint.setStrokeJoin(Paint.Join.ROUND);
currentPaint.setStrokeCap(Paint.Cap.ROUND);
currentPaint.setStrokeWidth(3);
break;
case R.id.colorBlackBtn:
//Toast.makeText(getApplicationContext(), "Black", Toast.LENGTH_SHORT).show();
currentPaint = new Paint();
currentPaint.setColor(0xFF000000);
currentPaint.setDither(true);
currentPaint.setStyle(Paint.Style.STROKE);
currentPaint.setStrokeJoin(Paint.Join.ROUND);
currentPaint.setStrokeCap(Paint.Cap.ROUND);
currentPaint.setStrokeWidth(3);
break;
}
}
希望這會幫助你。 享受。
您可以創建Paint對象的ArrayList,並可以通過在每次Button單擊時初始化新的Paint對象來設置線的顏色。 –