如果我移动手指,这可以正常工作,但如果我只是点击(从 ACTION_DOWN 到 ACTION_UP 而没有经过 ACTION_MOVE)它不会画任何东西。任何想法?
@Override
protected void onDraw(Canvas canvas) {
canvas.drawPath(path, paint);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
float eventX = event.getX();
float eventY = event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
path.moveTo(eventX, eventY);
path.lineTo(eventX, eventY);
return true;
case MotionEvent.ACTION_MOVE:
path.lineTo(eventX, eventY);
break;
case MotionEvent.ACTION_UP:
path.lineTo(eventX, eventY);
break;
default:
return false;
}
// Schedules a repaint.
invalidate();
return true;
}
}
我想出的最接近的答案是检查 eventx 和 y 是否与 ActionUP 中的最后一个相同,并在 x 和 y 中添加 +1 ...