@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. 2018.11.14 Chopin’s

    The lineaments of Chopin’s肖邦 short, dramatic life are familiar to most classical-music enthusiasts. ...

  2. java集合运算:求交集,并集,集合差

    今天突然想用Java实现如何用集合实现交集,并集和差集的运算了!主要是看Python语言的时候想起来的. 实现主要使用的Set集合,Set集合的特点是集合内的元素不可重复. 具体代码如何: packa ...

  3. SpringMVC札集(09)——拦截器

    自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onL ...

  4. CUDA Samples: ripple

    以下CUDA sample是分别用C++和CUDA实现的生成的波纹图像,并对其中使用到的CUDA函数进行了解说,code参考了<GPU高性能编程CUDA实战>一书的第五章,各个文件内容如下 ...

  5. Hibernate Validator参数校验

    日常开发中经常会遇到需要参数校验的情况,比如某个字段不能为空.长度不能超过5等都属于参数校验的范围.对于简单的参数校验通过写几个if-else判断语句就搞定,但是对于复杂的多个参数校验的情况,就不是那 ...

  6. 【备份】 解决acer v5 471g arch关机后自动重启的问题

    Fedora 17 on an Aspire V5-571 -- Reboot on Shutdown13 FEBRUARY 2015Update on 2/13/15: This article w ...

  7. 使用不安全代码将 Bitmap 位图转为 WPF 的 ImageSource 以获得高性能和持续小的内存占用

    在 WPF 中将一个现成的 Bitmap 位图转换成 ImageSource 用于显示一个麻烦的事儿,因为 WPF 并没有提供多少可以转过来的方法.不过产生 Bitmap 来源却非常多,比如屏幕截图. ...

  8. ubuntu ftp服务器搭建

    linux ftp服务器部署 1.sudo apt-get install vsftpd   ##下载vsftpd 2.sudo vim /etc/vsftpd.conf  ##vsftpd配置文件 ...

  9. Python模块汇总

    正则模块:re 日期和时间模块:datetime 和time模块 加密模块:hashlib 远程连接模块:paramiko 日志模块:logging 高级函数工具包:functools 多线程: 队列 ...

  10. RabbitMQ消息队列———安装(一)

    一.RabbitMQ队列 不同进程间的通信,简称IPC.不同的进程间的通信,可以基于队列解决,将生产者和消费者进行解耦,中间的队列作为其桥梁.RabbitMQ是一个在AMQP基础上完整的,可复用的企业 ...