我有一個LinearLayout
其背景顏色設置爲黑色。在這LinearLayout
,我有一個View
其中我使用Canvas
繪製。由於onDraw()
方法將被多次調用,因此我想在清除屏幕時使用Canvas.drawColor(Color.BLACK)
方法清除之前繪製的內容。android:Canvas.drawColor(Color.BLACK)無法清除畫布
但是我得到的是一個沒有任何東西的黑色屏幕,即使我畫了一些新的東西。我已經可以在onDraw()
方法中添加Canvas.drawColor(Color.BLACK)
之前繪製一些東西。
編輯:我onDraw()
方法
String value = "";
static Bitmap bitmap;
static Canvas canvas;
public void init(){// this is called by constructor method
this.setWillNotDraw(false);
bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
canvas = new Canvas();
canvas.setBitmap(bitmap);
}
public void onDraw(Canvas canvas){
canvas.drawBitmap(bitmap, 0, 0, null);
drawGrid();
}
public void drawGrid(){
Paint paint = new Paint();
paint.setColor(Color.GRAY);
paint.setStrokeWidth(1);
canvas.drawText(value, somex, somey, paint);
}
public void changeData(String value){
this.value = value;
this.postInvalidate();
}
另一個問題,哪裏是正確的地方我稱之爲Canvas.drawColor(Color.BLACK)
的代碼?
「但是我得到的是一個沒有任何東西的黑屏。你期望得到什麼? – Simon
哦,我想清除屏幕並重繪,但重畫部分不能被看到 – Cacheing
請向我們展示您的'onDraw()'方法,猜測沒有用,浪費時間... – WarrenFaith