GestureDetector 完全解析
个人原创
OnDown(MotionEvent e):用户触发DonenEvent就会执行
onShowPress(MotionEvent e):用户触发DonenEvent后,在很短大概0.5秒内,没有触发其他MoveEventh和UpEvent事件,会执行
onLongPress(MotionEvent e):用户触发DonenEvent后,在很短大概1.5秒内,没有触发其他MoveEventh和UpEvent事件,会执行
触发顺序:
onDown->onShowPress->onLongPress
onSingleTapUp(MotionEvent e):用户触发DonenEvent后,在很短大概1秒内,只触发UpEvent而没有出发触发MoveEventh时执行,从时间上能判断出在onSingleTapUp之前可能执行onShowPress,但一定不执行onLongPress
触发顺序:
点击一下非常快的(不滑动)Touchup:
onDown->onSingleTapUp->onSingleTapConfirmed
点击一下稍微慢点的(不滑动)Touchup:
onDown->onShowPress->onSingleTapUp->onSingleTapConfirmed
onScroll(MotionEvent e1, MotionEvent e2,float distanceX, float distanceY):用户触发DonenEvent后,在onLongPress执行之前触发MoveEventh时执行,此后MoveEventh都会触发onScroll执行
e1:第1个ACTION_DOWN MotionEvent
e2:最后一个ACTION_MOVE MotionEvent
distanceX:上次MoveEventh到这次MoveEventh在x上移动距离
distanceY:上次MoveEventh到这次MoveEventh在y上移动距离
滑屏:手指触动屏幕后,稍微滑动后立即松开
onDown-----》onScroll----》onScroll----》onScroll----》………----->onFling
拖动
onDown------》onScroll----》onScroll
onDown------》onScroll----》onScroll------》onFiling
注意:有的时候会触发onFiling,但是有的时候不会触发,这是因为触发onFiling需要拖动达到一定速度才会执行。
onFling(MotionEvent e1, MotionEvent e2, float velocityX,float velocityY) :用户触发 onScroll事件后,在触发UpEvent时,拖动达到一定速度时触发
参数解释:
e1:第1个ACTION_DOWN MotionEvent
e2:最后一个ACTION_MOVE MotionEvent
velocityX:X轴上的移动速度,像素/秒
velocityY:Y轴上的移动速度,像素/秒
onSingleTapConfirmed(MotionEvent e):单击确认事件 触发OnsingleTapUp事件后,在很短大概0.5秒内没有再次顺序触发 OnDown和UpEvent事件时执行
触发顺序是:OnDown->OnsingleTapUp->OnsingleTapConfirmed
onDoubleTap(MotionEvent e):双击事件 触发OnsingleTapUp事件后,在很短大概0.5秒内再次顺序触发 OnDown和UpEvent事件时执行, 注意在 大概0.5秒内一定触发DownEvent和UpEventUpEvent 事件,可能触发MoveEventhMoveEvent事件UpEventOnDown和UpEvent事件OnDown和UpEvent事件UpEvent事件
onDoubleTapEvent(MotionEvent e): 在触发onDoubleTap事件后执行,将在OnsingleTapUp事件和onDoubleTap事件中间所触发的所有EventTouch事件一个个处理,
触发顺序是:OnDown->OnsingleTapUp->(中间一定执行DownEventDownEvent和UpEvent可能执行MoveEvent事件OnDown可能)->onDoubleTap->onDoubleTapEvent(DownEventDownEvent )触发至少两次次,参数依次为中间发生的事件->onDoubleTapEvent(DownEventDownEvent downEvent)
GestureDetector 完全解析的更多相关文章
- Viewdraghelper解析
2013年谷歌i/o大会上介绍了两个新的layout: SlidingPaneLayout和DrawerLayout,现在这俩个类被广泛的运用, 其实研究他们的源码你会发现这两个类都运用了ViewDr ...
- Android RecyclerView单击、长按事件标准实现:基于OnItemTouchListener + GestureDetector
Android RecyclerView单击.长按事件:基于OnItemTouchListener + GestureDetector标准实现 Android RecyclerView虽然拥有L ...
- Android之解析GML并显示
本例主要实现在APP中解析GML数据并显示 GML,地理标记语言(外语全称:Geography MarkupLanguage.外语缩写:GML),它由开放式地理信息系统协会(外语缩写:OGC)于199 ...
- ViewPagerindicator 源码解析
ViewPagerindicator 源码解析 1. 功能介绍 1.1 ViewPagerIndicator ViewPagerIndicator用于各种基于AndroidSupportL ...
- SubsamplingScaleImageView 源码解析
一开始没打算分析 SubsamplingScaleImageView 这个开源的图片浏览器的,因为这个库在我们 App 中使用了,觉得自己对这个库还是比较熟悉的,结果某天再看看到源码介绍的时候,才发现 ...
- 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新
本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...
- .NET Core中的认证管理解析
.NET Core中的认证管理解析 0x00 问题来源 在新建.NET Core的Web项目时选择“使用个人用户账户”就可以创建一个带有用户和权限管理的项目,已经准备好了用户注册.登录等很多页面,也可 ...
- Html Agility Pack 解析Html
Hello 好久不见 哈哈,今天给大家分享一个解析Html的类库 Html Agility Pack.这个适用于想获取某网页里面的部分内容.今天就拿我的Csdn的博客列表来举例. 打开页面 用Fir ...
- 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新
[原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...
随机推荐
- leetcode 【 Find Minimum in Rotated Sorted Array 】python 实现
题目: Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 ...
- leetcode 【 Search in Rotated Sorted Array II 】python 实现
题目: 与上一道题几乎相同:不同之处在于array中允许有重复元素:但题目要求也简单了,只要返回true or false http://www.cnblogs.com/xbf9xbf/p/42545 ...
- Python-S9——Day84-ORM项目实战之权限、form以及modelform
01 权限菜单显示 02 Django路径的自动添加问题 03 原生form实现增删改查 04 modelform实现增删改查 01 权限菜单显示 1.1 优先查找项目中的templates,如果没有 ...
- 502 Bad Gateway 怎么解决?
出现502的原因是:对用户访问请求的响应超时造成的 服务端解决办法: 1.提高 Web 服务器的响应速度,也即减少内部的调用关系,可以把需要的页面.素材或数据,缓存在内存中,可以是专门的缓存服务器 , ...
- [oldboy-django][2深入django]django 官方中文文档 --扩展User
https://docs.djangoproject.com/en/2.0/topics/auth/customizing/#extending-the-existing-user-model # 另 ...
- hibernate注解配置举例说明
Hibernate Annotation (Hibernate 注解) 进入:http://www.hibernate.org 说明文档: 英文:http://docs.jboss.org/h ...
- 【Luogu】P2488工作安排(费用流)
题目链接 这题……费用流即可……(哇啊要被打死辣) 然而我printf("%d")爆零四次 好的心如死灰 #include<cstdio> #include<cs ...
- HDU 4557 非诚勿扰(Treap找后继)
非诚勿扰 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submi ...
- [HEOI2016/TJOI2016][bzoj4555] 求和 [斯特林数+NTT]
题面 传送门 思路 首先,我们发现这个式子中大部分的项都和$j$有关(尤其是后面的$2^j\ast j!$),所以我们更换一下枚举方式,把这道题的枚举方式变成先$j$再$i$ $f(n)=\sum_{ ...
- [AGC004D] Teleporter [贪心]
题面: 传送门 思路: 分析可知,这道题中的图是一个环套内向树,首都在环上 首先有一个结论:当首都的出边指向首都时,一定最优(不然首都出发可能无法按时到达首都)(可以按时到达的情况也一定有到不了的) ...