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