屏幕滑动监测以及触发事件

屏幕滑动监测以及触发事件

如果需要进行屏幕检测,那么得需要使用GestureDetector,首先声明空间,然后创建空间,那么就可以进行重写方法

        private final double FLIP_DISTANCE=50;
        detector=new GestureDetector(this, new GestureDetector.OnGestureListener() {
            @Override
            //用户按下屏幕就会触发
            public boolean onDown(MotionEvent e) {
                return false;
            }

            @Override
            //如果是按下的时间超过瞬间,而且在按下的时候没有松开或者是拖动的,那么onShowPress就会执行
            public void onShowPress(MotionEvent e) {

            }

            @Override
            //轻击一下屏幕,立刻抬起来,才会有这个触发
            public boolean onSingleTapUp(MotionEvent e) {
                return false;
            }

            @Override
            public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
                return false;
            }

            @Override
            //长按触摸屏,超过一定时长,就会触发这个事件
            public void onLongPress(MotionEvent e) {

            }

            @Override
            //滑屏,用户按下触摸屏、快速移动后松开
            public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
             if (e1.getX() - e2.getX() > FLIP_DISTANCE) {
                    Log.i(TAG, "向左滑...");
                   
                    return true;
                }
                if (e2.getX() - e1.getX() > FLIP_DISTANCE) {
                    Log.i(TAG, "向右滑...");
                
                    return true;
                }
                if (e1.getY() - e2.getY() > FLIP_DISTANCE) {
                    Log.i(TAG, "向上滑...");
                    return true;
                }
                if (e2.getY() - e1.getY() > FLIP_DISTANCE) {
                    Log.i(TAG, "向下滑...");
                    return true;
                }
 
                Log.d("TAG", e2.getX() + " " + e2.getY());
                return false;
            }
        });

posted @ 2020-03-15 21:57  野生的Lemon柠檬  阅读(326)  评论(0编辑  收藏  举报

呱呱呱呱呱🐸