关于多点触控问题

在MotionEvent.ACTION_POTITER_UP的时候怎么去获取屏幕上手指的坐标啊 比如两个手指 
先按下一个 接着再按下一个 然后再把两个手指中随机的抬起一个 这样怎么去获取屏幕上未抬起来的手指的坐标啊直接在MotionEvent.ACTION_POINTER_UP中去event.getx();获取到的是第一次按下去的手指的坐标啊 或者说能不能分辨出我抬起的手指是第一次按下去的手指还是第二次按下去的手指啊

隔江千里
浏览 329回答 1
1回答

qq_笑_17

一般实现滑动监听操作的View会保存一个mActivePointerId变量来记录活动手指。这个变量一般在MotionEvent.ACTION_DOWN中获取:mActivePointerId = MotionEventCompat.getPointerId(ev, 0);而在MotionEventCompat.ACTION_POINTER_UP时,判断抬起手指是否是活动手指,如果是,则重新选择活动手指:int pointerIndex = MotionEventCompat.getActionIndex(ev);int pointerId = MotionEventCompat.getPointerId(ev, pointerIndex);if (pointerId == mActivePointerId) {    int newPointerIndex = pointerIndex == 0 ? 1 : 0;    mActivePointerId = MotionEventCompat.getPointerId(ev, newPointerIndex);}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java