zoukankan      html  css  js  c++  java
  • android 全屏手势监控

    手势监控代码:

    页面实现 OnGestureListener 事件

    定义两个变量设置手势边界值

        private static final int FLING_MIN_DISTANCE = 80;
        private static final int FLING_MIN_VELOCITY = 100;

    @Override
     public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,float velocityY) {
       //向右翻  
      if (e1.getX() - e2.getX() > FLING_MIN_DISTANCE && Math.abs(velocityX) > FLING_MIN_VELOCITY) {      
            //

      }  
      //向左翻  
      if (e2.getX() - e1.getX() > FLING_MIN_DISTANCE  && Math.abs(velocityX) > FLING_MIN_VELOCITY) {        
          //

      }     
      return false;
     }

    由于页面中可能存在一些可点击的控件如Listview ,当在这些控件做手势时,响应的是控件的事件,屏幕的监控被覆盖,此时只要重写如下方法

    @Override
     public boolean dispatchTouchEvent(MotionEvent event) {
      if (mDetector.onTouchEvent(event)) { // mDetector 为GestureDetector
        event.setAction(MotionEvent.ACTION_CANCEL);
      }
      return super.dispatchTouchEvent(event);
     }

    多用于TabActivity 全屏手势监控

  • 相关阅读:
    代码块&继承&final关键字
    Java基础
    我的学习笔记
    CF743C 题解
    洛谷P4180 题解
    洛谷P3402 题解
    洛谷P3919 题解
    Noi.ac#30 题解
    Noi.ac #65题解
    Noi.ac #51题解
  • 原文地址:https://www.cnblogs.com/xianzuoqiaoqi/p/2179969.html
Copyright © 2011-2022 走看看