zoukankan      html  css  js  c++  java
  • 手势GestureDetector.OnGestureListener事件的调起

    @Override
    public boolean onTouchEvent(MotionEvent event) {
    switch (event.getAction()) {
    case MotionEvent.ACTION_UP:
    Log.i(TAG, "get Sy" + getScrollY());
    smoothScrollTo(0, 0);
    return mGestureDetector.onTouchEvent(event);
    case MotionEvent.ACTION_DOWN:
    return mGestureDetector.onTouchEvent(event);


    case MotionEvent.ACTION_MOVE:
    return mGestureDetector.onTouchEvent(event);
    default:
    break;

    }
    return super.onTouchEvent(event);
    }

    GestureDetector.OnGestureListener   必须在ACTION_UP,ACTION_DOWN,ACTION_MOVE全部传递事件给手势mGestureDetector.onTouchEvent(event);
    1、只有 ACTION_UP和ACTION_MOVE并且是抛滑:onFling方法调用,必须两个事件以前传递才有效;
    2、只有  ACTION_UP :无方法调用;
     
    3、只有 ACTION_MOVE :onScroll方法调用;
    4、只有  ACTION_DOWN  :onDown,onShowPress,onLongPress方法调用;
    5、只有  ACTION_DOWN,ACTION_UP 并且onDown返回true  :onDown,onShowPress,(长按)onLongPress,(点击)onSingleTapUp方法调用;
    6、只有  ACTION_DOWN,ACTION_UP 并且onDown返回false  :onDown,onShowPress,onLongPress方法调用;
    7、只有  ACTION_DOWN, ACTION_MOVE并且onDown返回为true:onDown, onScroll 方法调用;
    8、只有  ACTION_DOWN, ACTION_MOVE并且onDown返回为false:onDown ,onShowPress,onLongPress 方法调用;
    9、只有  ACTION_DOWN,ACTION_UP, ACTION_MOVE并且onDown返回为false:onDown ,onShowPress,onLongPress 方法调用;
    10、只有  ACTION_DOWN,ACTION_UP, ACTION_MOVE并且onDown返回为true:onDown , onScroll , 是抛滑onFling 方法调用;
     
     
    总结:1、只有在ACTION_DOWN调用是,onDown 返回true,才有可能调用onFling  ,onScroll方法;
    2、只有ACTION_MOVE 调用是,onFling  ,onScroll方法才回调用;
    3、onFling方法调用,还取决ACTION_MOVE 时调用;
    4、(点击)onSingleTapUp方法调用,只有  ACTION_DOWN,ACTION_UP 并且onDown返回true  ;
     
  • 相关阅读:
    如何优雅地结束线程的生命周期
    线程的interrupt()
    线程的join()方法
    守护线程Daemon
    使用多线程模拟一个银行叫号窗口
    多线程介绍
    十八、MySQL 数据排名查询某条数据是总数据的第几条
    spring cloud stream整合
    036线程进程(重要)
    035server端并发聊天
  • 原文地址:https://www.cnblogs.com/zengbobo-812796958/p/3460004.html
Copyright © 2011-2022 走看看