背景
看小红书直播间,遇到犹豫是否切掉的直播间时,个人习惯双指交替上划直播间,但小红书这一点的处理相比抖音不是很友好,如下视频:
现象
1. 手指A滑动屏幕不松手
2. 手指B按住屏幕
3. 手指A离开屏幕
4.手指B滑动,整个界面会跳动到手指B的位置
原因
跟多指触摸有关,小红书在多指交替时没有使用pointerId正确获取X、Y的值,而是通过ev.getX()或ev.getY()获取到下标0的手指对应的值导致。
建议
建议在ACTION_POINTER_DOWN或ACTION_POINTER_UP事件重置触摸的临界值,记录实际响应事件的pointerId,在ACTION_MOVE事件中获取对应pointerId的下标index,再通过ev.getX(index)或ev.getY(index)接力上个手指的滑动