正常开发中,单点触控场景遇到的比较多,比如识别 ACTION_DOWN、ACTION_UP、ACTION_MOVE 事件等。接下来我要介绍的是如何识别多点触控,即多个手指触摸屏幕。
一、MotionEvent事件的分类
官方文档:https://developer.android.com/training/gestures/multi?hl=zh_cn
属性说明:
- ACTION_DOWN:轻触屏幕的第一个手指,也是最先触发的事件。
- ACTION_POINTER_DOWN:除了第一个手指之外,其他手指点击屏幕将触发该事件。
- ACTION_POINTER_UP:除了最后一个手指,其他手指离开屏幕时会调用该事件。
- ACTION_UP:最后一个手指离开屏幕时调用该事件。
- ACTION_MOVE:手指移动时触发该事件。
获取具体手指id:
如果有两根手指在屏幕上,一根手指移动,另外一根手指保持禁止,ACTION_MOVE 中如何才能识别具体是哪根手指进行了移动?
虽然Android没有直接提供api进行调用&#