Evénement multitouch (2 doigts)
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:
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