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 全屏手势监控

  • 相关阅读:
    水滴二次开发日志5
    水滴二次开发日志4
    水滴二次开发日志3
    水滴二次开发日志2
    NOIp2020AFO记
    Diary(2020十一月 NOIP赛前集训)
    我们的Gary真的是太强辣
    Diary(2020十月 CSP赛前集训)
    Diary(2020九月 半集训)
    Music
  • 原文地址:https://www.cnblogs.com/xianzuoqiaoqi/p/2179969.html
Copyright © 2011-2022 走看看