터치를 사용하여 내 이미지 뷰에 여러 원을 그릴 수있게하려고합니다. 지금까지 나는 한 번에 하나씩 그릴 수있었습니다. 터치 포인트를 저장하고 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();
}
}
언제 원을 그려야할까요? 사용자가 손가락을 내려 놓거나, 움직이거나, 들어 올릴 때? (또는 모두?) – Sam
나는 사용자가 손가락을 내려 놓을 때를 믿는다. –