Bonjour à tous,

J'ai besoin de détecter différents évènements sur un image view. Ces évènements peuvent se faire à un doigt ou deux doigts (typiquement un drag ou un pinch zoom).

J'ai un problème avec les évènements à deux doigts qui ne semble pas être détectés correctement :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
public boolean onTouch(View v, MotionEvent event) 
{	
	switch(event.getAction())
	{
		//Doigt appuyé
		case MotionEvent.ACTION_DOWN:
		{
			Log.d("TOUCH","1 doigt");
			return true;
		}
		//Doigt en mouvement
		case MotionEvent.ACTION_MOVE:
		{
 
			return true;
		}
 
		//Doigts levé
		case MotionEvent.ACTION_UP:
		case MotionEvent.ACTION_POINTER_UP:
		{
			Log.d("TOUCH","Levé");
 
			return true;
		}
 
		case MotionEvent.ACTION_POINTER_DOWN:
		{
			Log.d("TOUCH","2 doigts");
 
			return true;
		}
	}
	return false;
}
Il n'y a que le log "2 doigts" qui est très difficile à obtenir.
Je rentre dans ACTION_POINTER_DOWN que lorsque les deux doigts sont posés très exactement au même moment , bref quasi impossible.

Y'aurais il une solution me permettant d'améliore la détection du second doigt ?
J'aimerais par exemple être capable de poser un premier doigts , puis de poser le second et ainsi passer dans un mode particulier.

Merci

Edit : J'utilise un Nexus S en 2.3.4 si ça peut avoir une incidence