滑动检测(仅左右),不上下

时间:2019-02-26 17:35:03

标签: javascript java android

我有以下代码:

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;
                    }
    });

我正在尝试使其在向下滑动时不执行“向右滑动”的逻辑,而在向上滑动时不执行“向右滑动”的逻辑。我只希望分别对“向右滑动”逻辑和“向左滑动”逻辑进行左右检测。现在,当我向上滑动时,它也在执行“向右滑动”逻辑,当我向下滑动时,它也在进行“向左滑动”逻辑。

有关如何更改此代码来避免这种情况的任何帮助?甚至有单独的部分可以分别添加“向上滑动”和“向下滑动”的逻辑?

0 个答案:

没有答案