zoukankan      html  css  js  c++  java
  • 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);
        }
  • 相关阅读:
    自动化运维与Saltstack
    keepalived+nginx 高可用集群
    Nginx集群(负载均衡)
    Nginx优化
    Nginx管理(一)
    业务环境、测试、上线逻辑
    服务器部署逻辑
    python面试题——爬虫相关
    springmvc文件上传
    springmvc入门
  • 原文地址:https://www.cnblogs.com/gongcb/p/2859714.html
Copyright © 2011-2022 走看看