Android アプリで、ユーザーが何かを描画できるシンプルなホワイトボードを作成しました。元に戻す機能を追加して、前のアクションに戻れるようにしたいと考えています。
私のTouch Start
イベントでは、基本的に現在のキャンバスをに追加し、ArrayList
同じ参照を避けるために新しいキャンバスを作成する次のコードを追加しました。
previousDrawing.add(this.canvas);
this.canvas = new Canvas(this.bitmap);
次に、私のundo
方法で、次のコードを追加しました。
if (previousDrawing.size() > 0)
{
// Remove last
this.canvas = previousDrawing.remove(previousDrawing.size() - 1);
this.canvas.setBitmap(this.bitmap);
}
まったく機能しません。this.canvas.drawPath(this.path, this.paint);
つまり、以前のキャンバスを保存して復元することはできませんが、キャンバスに描画できます。
それをするのを手伝ってくれませんか?
前もって感謝します。
EDIT:
私も使用しようとしましたsaveLayer method
。しかし、保存すると、キャンバスに描画できなくなります。これは正常な動作ですか?