タッチを使用して、ユーザーがイメージビューに複数の円を描画できるようにしようとしています。これまでのところ、一度に 1 つずつ描くことができました。タッチ ポイントを保存し、invalidate() を呼び出した後にすべての円を再描画する必要があることは理解していますが、それを行う方法はわかりません。
これが私のコードです。誰かが私が追加/変更しなければならないことを指摘したり、これを実装する方法についてアドバイスを与えたりしていただければ幸いです:
public class ImageView1 extends ImageView {
public int x;
public int y;
ImageView1 img = (ImageView1) findViewById (R.id.imageView1);
public ImageView1(Context context, AttributeSet attrs) {
super(context, attrs);
setFocusable(true);
}
public boolean onTouchEvent(MotionEvent event){
x = (int) event.getX();
y = (int) event.getY();
return true;
}
@Override
public void onDraw(Canvas canvas){
super.onDraw(canvas);
Paint p = new Paint();
p.setAntiAlias(true);
p.setColor(Color.RED);
p.setStyle(Paint.Style.STROKE);
p.setStrokeWidth(1);
canvas.drawCircle(x, y, 20, p);
invalidate();
}
}