我有一个ViewPager组件,并且在片段中有一个WebView组件,我想检测用户在屏幕上的点击,同时用户也可以滑动。

当前,我正在像这样在ViewPager上设置onTouchListener:
            vPager.setOnTouchListener(new View.OnTouchListener(){
            浮点数oldX = 0,newX = 0,sens = 5;

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                oldX = event.getX();
                break;

            case MotionEvent.ACTION_UP:
                newX = event.getX();
                if (Math.abs(oldX - newX) < sens) {
                    tap();
                    return true;
                }
                oldX = 0;
                newX = 0;
                break;
            }

            return false;
        }
    });


我发现监听器仅在左右滑动时才被触发,在向上或向下滑动时不会触发。我在WebView组件上滑动,它的内容很长,需要滚动。

最佳答案

您只在寻找X,在Y轴上上下移动

10-07 20:40