GcsSloop / AndroidNote

安卓学习笔记
http://www.gcssloop.com/#blog
9.18k stars 2.13k forks source link

安卓自定义View进阶-多点触控详解中 #82

Closed ityulong closed 7 years ago

ityulong commented 7 years ago

感觉文章中的列子有失偏驳,图片迅速移动到第二次点击事件并不是因为没有监控到是哪个手指导致,根本原因是因为 action_up 只能监听最后一次的释放事件,导致canDrag不能等于false 虽然action_up不能监听第一次点击的释放事件,但是ACTION_POINTER_UP却可以,如下所示:

case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_POINTER_UP:
         Log.d(TAG, "onTouchEvent: ACTION_UP");
         //只识别第一根手指
         if(event.getPointerId(event.getActionIndex()) == 0)
              canDrag = false;
         break;

这样就能解决所述问题。

GcsSloop commented 7 years ago

???