我有一个画布屏幕,我在其中徒手涂鸦。我想做的是,当用户在涂鸦后抬起手指时,ACTION_UP
将调用事件。我的要求是知道用户已经完成了他的涂鸦,在他完成涂鸦后我会采取我的行动。
为了在ACTION_UP
事件中实现这一点,我正在让一个新线程休眠 3 秒,但我希望当线程处于休眠状态时以及在这 3 秒内,如果用户开始在屏幕上再次涂鸦,那么我想调用ACTION_DOWN
事件。
我没有办法做到这一点。代码如下所述。请帮忙 。
public boolean onTouchEvent(MotionEvent event) {
float eventX = event.getX();
float eventY = event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
path.moveTo(eventX, eventY);
return true;
case MotionEvent.ACTION_MOVE:
path.lineTo(eventX, eventY);
break;
case MotionEvent.ACTION_UP:
thread = new Thread() {
int wait = 0;
@Override
public void run() {
super.run();
while (wait < 3000) {
try {
sleep(100);
wait += 100;
} catch (InterruptedException e) {
e.printStackTrace();
}
}
try {
pointerUp();
} catch (Exception e) {
e.printStackTrace();
}
}
};
thread.start();
break;
default:
return false;