Commencez ici si vous avez pas déjà lu: http://android-developers.blogspot.com/2010/06/making-sense-of-multitouch.html
Android pense événements tactiles en termes de gestes. Un geste dans ce sens inclut tous les événements depuis le premier doigt qui touche l'écran jusqu'au dernier doigt qui quitte l'écran. La totalité de la séquence d'événements d'un seul geste est toujours envoyée à la même vue que celle qui a été sélectionnée lors de l'action ACTION_DOWN initiale, sauf si un parent intercepte le flux d'événements pour une raison quelconque. Si un parent intercepte le flux d'événements d'un enfant, l'enfant recevra ACTION_CANCEL.
Si vous travaillez avec des événements multitouch, utilisez toujours la valeur renvoyée par getActionMasked() pour déterminer l'action. Si vous n'avez pas besoin de multitouch ou si vous travaillez avec une ancienne version de la plate-forme, vous pouvez ignorer les événements ACTION_POINTER_ *. ACTION_DOWN est pour le premier doigt qui touche l'écran
- Cela commence le geste. Les données du pointeur pour ce doigt sont toujours à l'index 0 dans le MotionEvent.
- ACTION_POINTER_DOWN est pour les doigts supplémentaires qui entrent dans l'écran au-delà de la première. Les données de pointeur pour ce doigt sont à l'index retourné par getActionIndex().
- ACTION_POINTER_UP est envoyé lorsqu'un doigt quitte l'écran mais au moins un doigt le touche encore. Le dernier exemple de données sur le doigt qui a été créé est à l'index retourné par getActionIndex().
- ACTION_UP est envoyé lorsque le dernier doigt quitte l'écran. Le dernier échantillon de données sur le doigt qui s'est levé est à l'index 0. Ceci termine le geste. ACTION_CANCEL signifie que le geste entier a été annulé pour une raison quelconque. Ceci termine le geste.
Pas tout à fait, mais proche. :) – adamp
ACTION_POINTER_UP est utilisé à la place de ACTION_UP quand il y a encore un doigt sur l'écran – Chris