2
如何检测轻扫手势onTouch
方法?当我轻扫时,我想要执行两个动作中的一个,而当我点击时则需要执行其中一个动作。需要知道如何说明点击和轻扫之间的区别。检测轻扫手势
这里是我的代码:
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_MOVE) {
mGestureDetector.onTouchEvent(event);
}
switch(event.getAction()) {
case MotionEvent.ACTION_DOWN:
x1 = event.getX();
y1 = event.getY();
break;
case MotionEvent.ACTION_UP:
x2 = event.getX();
y2 = event.getY();
float deltaX = x2 - x1;
float deltaY = y2 - y1;
if (Math.abs(deltaX) > MIN_DISTANCE) {
mGestureDetector.onTouchEvent(event);
}else if (Math.abs(deltaX) < MIN_DISTANCE) {
mGestureDetector.onTouchEvent(event);
}else if (Math.abs(deltaY) > MIN_DISTANCE) {
mGestureDetector.onTouchEvent(event);
}else if (Math.abs(deltaY) < MIN_DISTANCE) {
mGestureDetector.onTouchEvent(event);
}
break;
}
return true;
}
感谢您的答复。它不工作。我试图在自己的软键盘中实现手势,以便将屏幕从qwerty更改为数字,例如,如果您只需点击一个可以打印该字母的单个字母。我的键盘用onSwipe方法工作得很好,但它不准确。我发布的代码比您的更准确。所以,如果你能告诉我如何区分触摸和滑动。我尝试了我发布的代码中的某些内容,但我只能轻扫一下,不能点击单个字母。 – jelic98