私が直面している問題は、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 についての私の理解が間違っている場合は、訂正してください。