单独从android doc我真的不明白ACTION_UP和ACTION_POINTER_UP之间的区别。 http://developer.android.com/reference/android/view/MotionEvent.html#ACTION_DOWN
基本上我想抓住一个手指从屏幕上释放时的事件(即使另一个手指仍可能触摸它)
谢谢!
答案 0 :(得分:124)
如果您尚未阅读,请从此处开始:http://android-developers.blogspot.com/2010/06/making-sense-of-multitouch.html
Android会根据手势来考虑触控事件。在这种意义上的手势包括从触摸屏幕的第一手指到离开屏幕的最后一根手指的所有事件。单个手势的整个事件序列始终发送到在初始ACTION_DOWN期间拾取的同一视图,除非父级由于某种原因拦截事件流。如果父母拦截了孩子的事件流,孩子将获得ACTION_CANCEL。
如果您正在使用多点触控事件,请始终使用getActionMasked()返回的值来确定操作。如果您不需要多点触控或使用较旧的平台版本,则可以忽略ACTION_POINTER_ *事件。
答案 1 :(得分:12)
我认为它源于添加了Multi-touch,ACTION_UP自API级别1以来就已经存在,但是当添加多点触控时,API级别5中添加了ACTION_POINTER_UP。
你得到的结果将取决于你调用的方法,getAction()将返回ACTION_UP而getActionMasked()会给ACTION_POINTER_UP,但也允许你调用getActionIndex()来找出哪些多点触控指针只是被提出来了。我想这就是你想要做的。