@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. 块级元素display:inline-block 在IE6 IE7无效

    ie6,ie7中,对块级元素设置display:inline-block,无效. 所以要先设置为inline,再触发haslayout .div1{ /*重点代码开始*/ display: inlin ...

  2. java基础 题和知识点总结, 关于String s是否默认初始化为null......,new一个对象和类静态域,是不是在内存中不是一个地方

    一道笔试题 22. 下面代码的运行结果为:() import java.io.*; import java.util.*; public class foo{ public static void m ...

  3. Tornado 异步非阻塞

    1 装饰器 + Future 从而实现Tornado的异步非阻塞 class AsyncHandler(tornado.web.RequestHandler): @gen.coroutine def ...

  4. dpkg: 处理归档 /var/cache/apt/archives/swig2.0_2.0.12-1ubuntu4_amd64.deb (--unpack)时出错:

    问题: sudo apt-get upgrade 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 正在计算更新... 完成下列软件包的版本将保持不变: lib ...

  5. 42.zip

    最近看linux的解压缩,无意间了解到了一个和压缩率相关的小故事——42.zip 一般我们使用压缩工具的时候,都会用到无损压缩技术,对于无损压缩,算法非常重要,不同的算法实现 的压缩率和速度有很大差别 ...

  6. [Python] 比较两个数组的元素的异同

    通过set()获取两个数组的交/并/差集: print set(a) & set(b) # 交集, 等价于set(a).intersection(set(b)) print set(a) | ...

  7. iOS开发:UITableView的优化技巧-异步绘制Cell

    最近在微博上看到一个很好的开源项目VVeboTableViewDemo,是关于如何优化UITableView的.加上正好最近也在优化项目中的类似朋友圈功能这块,思考了很多关于UITableView的优 ...

  8. C# parser JSON get Key and value

    /*********************************************************************** * C# parser JSON get Key an ...

  9. Linux服务器运行环境搭建(二)——Redis数据库安装

    官网地址:http://redis.io/ 官网下载地址:http://redis.io/download 1. 下载Redis源码(tar.gz),并上传到Linux 2. 解压缩包:tar zxv ...

  10. iOS 修改通讯录联系人地址(address)崩溃原因分析

    目前项目中需要对iOS系统通讯录进行读取,修改操作.在进行对地址修改的时候,出现了一个奇怪现象: ● 如果contact没有address字段(或者一个全新的contact),对它的address进行 ...