我面临的问题是,在触发 ACTION_POINTER_UP 时,我需要获取最近剩余手指的坐标。
举个例子(使用 2 个指针):
- 将拇指放在屏幕上 (ID0)
- 将食指放在屏幕上 (ID1)
- 从屏幕上抬起拇指 (ID0)
- 剩余的指针是食指 (ID1)
- 获取食指坐标(ID1)
现在,在我的 ACTION_POINTER_UP 案例中,我有以下内容:
case MotionEvent.ACTION_POINTER_UP: {
y = event.getY();
x = event.getX();
break;
}
显然,这并没有多大用处,因为(据我所知),它记录了离开屏幕的指针的 x 和 y,这不是我需要的。
上面的例子只使用了 2 个指针,但同样的问题可以应用于 3、4 或 5 个指针。
- 将拇指放在屏幕上 (ID0)
- 将食指放在屏幕上 (ID1)
- 将中指放在屏幕上 (ID2)
- 将无名指放在屏幕上 (ID3)
- 从屏幕上抬起拇指 (ID0)
- 抓取最近触摸屏幕的剩余指针的 x 和 y
请不要链接到任何官方的 Android 文档或博客,我已经多次阅读它们,但我仍然不明白如何实现这一点。另外,如果我对指针 ID 的理解不正确,请纠正我。