Жест прокрутки во всех направлениях (влево, вправо, вверх, вниз)
Мне нужно определить направление движения. В моем коде я могу определить направление, но это происходит, если я проведу вправо вверх вправо или влево, как это происходит. То же самое с левой стороны, мое требование - не поднимать палец, если я проведу пальцем влево, он должен идти только влево, также как и во всех направлениях. Может кто-нибудь мне помочь. Заранее спасибо!
Вот мой код
@Override
public boolean onScroll(MotionEvent event1, MotionEvent event2, float distanceX, float distanceY) {
if (Math.abs(deltaX) > Math.abs(deltaY)) {
if (Math.abs(deltaX) > MIN_DISTANCE) {
if (deltaX > leftSidelastX) {
leftSidelastX = deltaX;
Log.d("", "Right to Left swipe performed");
} else {
leftSidelastX = deltaX;
Log.d("", "Left to Right swipe performed");
}
}
} else {
if (Math.abs(deltaY) > MIN_DISTANCE) {
if (deltaY > leftSidelastY) {
leftSidelastY = deltaY;
Log.d("", "Up to Down swipe performed");
} else {
leftSidelastY = deltaY;
Log.d("", "Down to Up swipe performed");
}
}
}
return true;
}
2 ответа
"Жест прикосновения" происходит, когда пользователь кладет один или несколько пальцев на сенсорный экран, и ваше приложение интерпретирует этот рисунок касания как определенный жест.
Для получения дополнительной информации обратитесь по этим ссылкам: -
1. https://developer.android.com/reference/android/view/GestureDetector.OnGestureListener.html
2. http://en.proft.me/2017/06/25/detecting-gestures-android-gesturedetector/
Есть много библиотек жестов, и ниже приведены методы, которые, я думаю, будут использованы полностью
https://android-arsenal.com/details/1/3323
Список жестов и других полезных жестов ниже