私は私のアンドロイドプロジェクトでいくつかの助けが必要です。私はキャンバスを持っていて、それをビットマップで埋めています。キャンバスに線を引くポインタがあります。私の問題は、以前に描いた線をどのようにきれいにするかです。キャンバスでどのメソッドを呼び出す必要がありますか?私は試しましたがCanvas.drawColor()
、うまくいきinvalidate()
ません。
との機能は何ですかとCanvas.drawColor()
私の問題を解決するのを手伝ってください。前もって感謝します
アップデート!このようなコードを作成した場合:
@Override
protected void onDraw(Canvas canvas) {
// fills the canvas with black
canvas.drawColor(Color.BLACK);
canvas.drawBitmap(mBitmap, 0, 0, mBitmapPaint);
canvas.drawPath(mPath, p);
obaby.draw(canvas);
}
コードのどこに配置invalidate()
しますか?ボタンを使用してキャンバスをクリアしたい場合、どのコードを使用する必要がありますか?
アップデート!
私は自分のonDrawを次のように書きました:
@Override
protected void onDraw(Canvas canvas) {
canvas.drawColor(Color.BLACK);
if(letsdraw){
canvas.drawBitmap(mBitmap, 0, 0, mBitmapPaint);
canvas.drawPath(mPath, p);
obaby.draw(canvas);
}
}
リセットボタンの方法は次のようになります。
public void rst(){
letsdraw = false;
invalidate();
Log.v("tag", "this method called");
}
しかし、メソッドを呼び出してもキャンバスに変更はありません。上記のコードに何か間違ったことを書きましたか?