黑马程序员技术交流社区

标题: 多点手势识别的实现 [打印本页]

作者: 吴光新    时间: 2013-8-22 12:08
标题: 多点手势识别的实现

google提供的API中,有个类,大家都很熟悉,GestureDetector。使用它,我们可以识别用户通常会用的手势。但是,这个类不支持多点触摸(可能google认为没有人会在几个手指都在屏幕上的时候,使用手势吧~),不过,最近和朋友们一起做的一个App,的确用到了多点手势(主要是onScroll和onFling两个手势),所以,我就把这个类拓展了一下,来实现让多个控件各自跟着一跟手指实现拖动和滑动的效果。

顺便说一下,大家应该都知道,在Android3.0以后,Android的触摸事件的分配机制和以前的版本是有区别的。从3.0开始,用户在不同控件上操作产生的touch消息不会相互干扰,touch消息会被分派到不同控件上的touchListener中处理。而
在以前的版本中,所有的touch消息,都会被分排到第一个碰到屏幕的手指所操作的控件的touchListener中处理,也就是说,会出现这样一个矛盾的现象:在界面上有A,B,C三个控件,然后,当你先用食指按住A,跟着又用中指和无名指(嘛,别的手指也行,不用在意中指还是无名指)按住B,C。当中指和无名指移动的时候,B和C都无法接收到这个ACTION_MOVE消息,而接收到消息的却是A。而在3.0以上版本中,并不存在这个问题。

使用以下的这个类,可以实现从2.2到3.2平台上手势识别的兼容。
   

源码下载:


作者: whj11    时间: 2013-8-23 23:11
来瞧瞧

作者: 赵保磊    时间: 2013-8-27 22:23
哇哈哈   http://bbs.itheima.com/#http://bbs.itheima.com/#
作者: beyond_benben    时间: 2013-8-28 16:23
学习学习

作者: 上官羽茹    时间: 2013-11-27 12:48
kankan!!!!!!!!!!!!!
作者: 那一年    时间: 2013-11-27 17:05
http://bbs.itheima.com/forum.php ... est=yes&_f=.png
作者: ゛夕阳看落日丶    时间: 2013-11-27 17:15
来学习了。
作者: 程彬    时间: 2014-2-10 10:18
kanakn看看
作者: 蕝囗芣諟    时间: 2014-6-18 15:15
进来看了一下,不错不错
作者: amtest1111    时间: 2014-7-3 00:04
:)                                                   
作者: TmacJun    时间: 2017-4-5 11:12
111111111111111111111111111111111111111
作者: baby14    时间: 2018-12-4 07:50
多谢分享




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2