LinearLayout
背景色が黒に設定されている があります。このLinearLayout
には、 をView
使用して描画する がありCanvas
ます。メソッドは複数回呼び出されるため、onDraw()
メソッドを呼び出すときに前に描いたものをクリアしたいので、キャンバスをクリアするonDraw()
ために使用します。Canvas.drawColor(Color.BLACK)
しかし、新しいものを描いても何もない黒い画面が表示されます。メソッドCanvas.drawColor(Color.BLACK)
内に追加する前に、すでに何かを描画できます。onDraw()
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)
ですか?