• Android进阶篇GestureDetector初探


    GestureDetector是系统提供的一个监听手势在屏幕操作的类.

    使用方法也挺简单,首先我们应该初始化

    GestureDetector对象:

     mGesture = new GestureDetector(this, new GestureListener());

    GestureListener类:

        class GestureListener extends SimpleOnGestureListener {
            //滑动的监听
            @Override
            public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
                    float velocityY) {
                try {
                    if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH)
                        return false;
                    if (e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
                        //从右向左滑动
                        return true;
                    } else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
                        //从左向右滑动
                        return true;
                    }
                } catch (Exception e) {
                    // nothing
                }
                return false;
            }
            
            //单击
            @Override
            public boolean onSingleTapUp(MotionEvent e) {
                return false;
            }
        };

    手势判断的常量值:

        private static final int SWIPE_MIN_DISTANCE = 120;
        private static final int SWIPE_MAX_OFF_PATH = 250;
        private static final int SWIPE_THRESHOLD_VELOCITY = 200;

    在要使用的地方直接拦截onTouchEvent事件:

        @Override
        public boolean onTouchEvent(MotionEvent event) {
            // TODO Auto-generated method stub
            return mGesture.onTouchEvent(event);
        }
  • 相关阅读:
    Android Handler研究(1)
    知识树杂谈Java面试(4)
    BAT级别分类
    知识树杂谈Android面试(3)
    知识树杂谈(2)
    mac iterm2安装、sshpass密码记住
    一万小时定律
    第17章(下)--集合
    第17章(中)--集合
    第17章(上)--集合
  • 原文地址:https://www.cnblogs.com/gongcb/p/2859714.html
Copyright © 2020-2023  润新知