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 :

Problème de selection par toucher maintenu via phonegap


Sujet :

Android

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 11
    Points : 6
    Points
    6
    Par défaut Problème de selection par toucher maintenu via phonegap
    Bonjour,

    alors avant tout chose j'espère être dans le bonne section étant donné que je développe en HTML/CSS/JS en passant par Phonegap pour enfin faire une appli android.

    Je suis assez novice en la matière et je demande votre aide car cela fait déjà plus d'une semaine que je suis bloqué sur cette fonctionnalité, je tourne en rond et ne trouve pas de solution.

    Voila mon problème: Je voudrais permettre la selection de plusieurs éléments lorsque l'utilisateur laisse le doigt sur son écran tactile. (Comme un mouseover+mousedown en javascript). J'ai essayé de simplifier ma situation en affichant que 3 ronds, et en leur passant un évenement lorsqu'il sont toucher avec le doigt maintenu sur l'écran (ici je voulais faire passer les rond du rouge au jaune pour le test). (voir illustration). Cela fonctionne sous mozilla, mais dès que je lance l'appli sur mon portable/emulateur android, l’événement s’arrête au premier élément touché!

    J'ai essayé d'utiliser un TouchHandler qui devrait, il me semble, "convertir" un mousemove en touchmouve sur support tactile ... mais je n'ai pas réussi à le faire fonctionné. Il ressemblait à cela:

    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
    37
    38
    39
    function touchHandler(event)
    		{
    		    var touches = event.changedTouches,
    		        first = touches[0],
    		        type = "";
    		         switch(event.type)
    		    {
    		        case "touchstart": type ="mousedown";break;
    		        case "touchmove":  type="mouseover"; break;        
    		        case "touchend":   type="mouseup"; break;
    		        default: return;
    		    }	
    			var simulatedEvent = document.createEvent("MouseEvent");
    		    simulatedEvent.initMouseEvent(type, true, true, window, 1,
    		                              first.screenX, first.screenY,
    		                              first.clientX, first.clientY, false,
    		                              false, false, false, 0/*left*/, null);
     
    		    first.target.dispatchEvent(simulatedEvent);
    		    //event.preventDefault();    
    		}
     
    function initmob() {
    			document.addEventListener("touchstart", touchHandler, true);
    			document.addEventListener("touchmove", touchHandler, true);
    			document.addEventListener("touchend", touchHandler, true);
    			document.addEventListener("touchcancel", touchHandler, true);
    			document.addEventListener("touchmove",touchmove,false);     
    			document.addEventListener("touchmove",touchmove,false);  
    		}	
     
    function touchmove(event){
    			var objt=event.target;
    			elem= document.elementFromPoint(event.clientX, event.clientY);
    		   	document.getElementById("log").innerHTML= objt.getAttribute('class');
    		   	document.getElementById("log2").innerHTML= objt.id;
    		   	if(objt.getAttribute('class')== "rondRouge"){
    		   	event.target.style.background='yellow';}
    }
    Si quelqu'un a une idée, elle est la bienvenue ! merci
    Images attachées Images attachées  

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Bonjour, je me permet de re-up le sujet en ajoutant une précision: Le problème semble venir du fait qu'il ne veut pas "changer d'éléments" lors du survol de d'autres éléments. Il me semble qu'il y aurait un lien avec le touchstart, où il conserverait la valeur de l'élément sur lequel on à éffectué le Touchstart et point barre!

    Voila, si ça peut vous aider à comprendre mon problème

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Personne n'aurai une petite idée? Car je suis toujours bloqué dessus et la date d'échéance pour que cela marche est dans quelques jours...
    Alors si quelqu'un à une piste aussi minime soit elle, je suis preneur, merci !

  4. #4
    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
    Salut,

    Le problème provient plus du JS essaye de poser directement ta question sur le forum Javascript.

    Tu as quoi dans ta variable first ?
    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.

Discussions similaires

  1. Problème de select borné par 2 varchar
    Par krolineeeeeeee dans le forum Oracle
    Réponses: 3
    Dernier message: 27/01/2011, 18h08
  2. Réponses: 2
    Dernier message: 30/04/2009, 09h44
  3. Problème de select via le php
    Par Colbix dans le forum Langage SQL
    Réponses: 4
    Dernier message: 06/05/2008, 00h10
  4. Probléme d'insertion par défault
    Par xavier62 dans le forum SQL
    Réponses: 7
    Dernier message: 28/11/2003, 14h03
  5. [TListBox] Selection par défaut
    Par Nuts07 dans le forum Composants VCL
    Réponses: 8
    Dernier message: 12/05/2003, 11h00

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