我有以下代码:
final float len = getResources().getDisplayMetrics().densityDpi/6;
linear1.setOnTouchListener(new View.OnTouchListener() {
float initX;
float initY;
@Override
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction()) {
case MotionEvent.ACTION_DOWN:
initX = event.getX();
initY = event.getY();
break;
case MotionEvent.ACTION_UP:
initX -= event.getX();
initY -= event.getY();
if (initY > len) {
//Logic For Swipe Right
} else if(initY < -len) {
//Logic For Swipe Left
}
break;
}
return false;
}
});
我正在尝试使其在向下滑动时不执行“向右滑动”的逻辑,而在向上滑动时不执行“向右滑动”的逻辑。我只希望分别对“向右滑动”逻辑和“向左滑动”逻辑进行左右检测。现在,当我向上滑动时,它也在执行“向右滑动”逻辑,当我向下滑动时,它也在进行“向左滑动”逻辑。
有关如何更改此代码来避免这种情况的任何帮助?甚至有单独的部分可以分别添加“向上滑动”和“向下滑动”的逻辑?