为了账号安全,请及时绑定邮箱和手机立即绑定

关于多点触控问题

关于多点触控问题

隔江千里 2019-03-20 18:15:55
在MotionEvent.ACTION_POTITER_UP的时候怎么去获取屏幕上手指的坐标啊 比如两个手指 先按下一个 接着再按下一个 然后再把两个手指中随机的抬起一个 这样怎么去获取屏幕上未抬起来的手指的坐标啊直接在MotionEvent.ACTION_POINTER_UP中去event.getx();获取到的是第一次按下去的手指的坐标啊 或者说能不能分辨出我抬起的手指是第一次按下去的手指还是第二次按下去的手指啊
查看完整描述

1 回答

?
qq_笑_17

TA贡献1818条经验 获得超7个赞

一般实现滑动监听操作的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);

}


查看完整回答
反对 回复 2019-04-18
  • 1 回答
  • 0 关注
  • 328 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号