IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Evénement multitouch (2 doigts)


Sujet :

Android

  1. #1
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut 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 : 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
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Finalement trouvé la solution , il suffit de remplacer :

    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    event.getAction() & MotionEvent.ACTION_MASK
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,

    Il existe une classe gérant les évènements ets'appuie sur la MotionEvent, GestureDetector. Elle est plus évidente à utiliser dû à ces nombreuses fonctions disponibles, que de gérer soit même les events.

    http://developer.android.com/referen...eDetector.html
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 16
    Dernier message: 24/07/2009, 09h03
  2. Mobiles : Synaptics présente un écran multitouch avec les 10 doigts !
    Par Emmanuel Chambon dans le forum Actualités
    Réponses: 2
    Dernier message: 23/07/2009, 11h27
  3. Evènement OnMouseWheel pour un TCustomControl
    Par blan dans le forum C++Builder
    Réponses: 6
    Dernier message: 17/11/2004, 14h37
  4. Non réception d'un evènement sur une JTable
    Par Kant dans le forum Composants
    Réponses: 4
    Dernier message: 28/05/2004, 10h38
  5. Evènement sur clic droit !?
    Par soccersoft dans le forum Composants VCL
    Réponses: 6
    Dernier message: 26/12/2002, 21h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo