這工作正常,如果我移動我的手指,但如果我只點擊(從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 ...
這沒有意義,返回true;是需要的onTouch返回類型...:S – desgraci 2013-03-08 13:59:24
但無論哪種方式,當它退出交換機,它會打到那裏的回報,idk,只是一個建議 – JRowan 2013-03-08 17:37:29