@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  ;
 

手势GestureDetector.OnGestureListener事件的调起的更多相关文章

  1. GestureDetector.OnGestureListener

    为了加强鼠标响应事件,Android提供了GestureDetector手势识别类.通过GestureDetector.OnGestureListener来获取当前被触发的操作手势(Single Ta ...

  2. android学习——GestureDetector.OnGestureListener 详解

    Android Touch Screen 与传统Click Touch Screen不同,会有一些手势(Gesture),例如Fling,Scroll等等.这些Gesture会使用户体验大大提升.An ...

  3. Android 手势&触摸事件 MotionEvent

    1.http://blog.csdn.net/omg_2012/article/details/7881443 这篇相当好啊 2.http://blog.csdn.net/android_tutor/ ...

  4. 关于GestureDetector.OnGestureListener的onScroll参数distance问题

    关于GestureDetector.OnGestureListener类的onScroll方法参数distanceX和distanceY问题 看到有文章上说onScroll方法中distanceX和d ...

  5. 背水一战 Windows 10 (69) - 控件(控件基类): UIElement - Manipulate 手势处理, 路由事件的注册, 路由事件的冒泡, 命中测试的可见性

    [源码下载] 背水一战 Windows 10 (69) - 控件(控件基类): UIElement - Manipulate 手势处理, 路由事件的注册, 路由事件的冒泡, 命中测试的可见性 作者:w ...

  6. Ionic4.x Javascript 扩展 ActionSheet Alert Toast Loading 以及 ionic 手势相 关事件

    1.ActionSheet 官方文档:https://ionicframework.com/docs/api/action-sheet <ion-header> <ion-toolb ...

  7. 利用扩展事件进行调优和Troubleshooting PPT分享

        本篇主题是我在2015年中国数据库大会(DTCC)上的分享,扩展事件从2008版本出来到现在已经有6-7年,国内却很少有相关资料和使用,现在分享一下PPT,希望对大家有所帮助.       可 ...

  8. 说说GestureDetector.OnGestureListener onScroll函数

    public abstract boolean onScroll (MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) ...

  9. ASYNC_NETWORK_IO等待事件和调优

    测试反应测试数据库整体出现hang的情况,检查对应的等待事件,发现大量的resource_semaphore等待事件, 查看内存占用情况: ​SELECT  *  FROM    sys.dm_exe ...

随机推荐

  1. Composer 安装东西遇到github需要token怎么办

    安装yii2遇到这样的提示: Could not fetch https://api.github.com/repos/jquery/sizzle/contents/bower.json?ref=91 ...

  2. APUE学习笔记——7main()函数启动与退出

    程序的启动与退出过程 先上图,了解进程运行的机制.     内核首先调用exec,运行C启动进程,C启动进程会调用main()函数.     其他所有函数都是由main函数直接或间接调用的.     ...

  3. 数据库连接错误:CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source.

    学习Spring整合Hibernate的知识,新建一个工程,代码结构如下: 按如下步骤整合: 代码如下: hibernate.cfg.xml: <?xml version="1.0&q ...

  4. zabbix安装收获-WARNING: 'aclocal-1.14' is missing on your system

    zabbix server已经安装成功了,在server端也安装了一个agent,一切OK. 在另外一台pg节点上安装zabbix agent时,报错: WARNING: 'aclocal-1.14' ...

  5. JFinal源码详解

    JFinal的框架我24号的一篇博文写到过,它优秀的地方在精简代码上,那么有两处源码是我觉得是值得我们要好好解析一下,一处是初始化加载—servlet跳转,另一处是DB+ActiveRecord的映射 ...

  6. Skynet服务器框架(九) snax框架

    什么是 snax 由于 skynet 的 API 还是比较偏底层,为简化服务的编写提供一套简单的 API ,便有了这套 snax 框架,解决的问题: "编写一个 skynet 内部服务,处理 ...

  7. HDU 1073

    http://acm.hdu.edu.cn/showproblem.php?pid=1073 模拟oj判题 随便搞,开始字符串读入的细节地方没处理好,wa了好久 #include <iostre ...

  8. IOS开发 static关键字的作用

    (1)函数体内 static 变量的作用范围为该函数体,不同于 auto 变量,该变量的内存只被分配一次, 因此其值在下次调用时仍维持上次的值: (2)在模块内的 static 全局变量可以被模块内所 ...

  9. Xcode 8 修改项目名

    很麻烦,不想修改了 有个教程,贴一下. From: 大发写字的地方 Xcode8 修改包名(含cocopods)

  10. DependencyProperty.UnsetValue 的正确打开方式

    无论是 WPF,还是 UWP,只要你用了绑定或者标记扩展,一定会碰到一个神奇的值——DependencyProperty.UnsetValue.UnsetValue 是什么意思?为什么会出现这个值呢? ...