Partage
  • Partager sur Facebook
  • Partager sur Twitter

[android] Capturer la fin d'un OnTouch !

Sujet résolu
    13 juin 2012 à 13:31:00

    Bonjour les zéros !

    Alors je viens vous exposer mon problème de OnTouch... Je suis actuellement entrain de crée une application pour un projet.
    Durant l'application si l'utilisateur appuie sur l'écran mon textView disparait et si il enlève le doigt il devrait réapparaître... Mais avec mon bas niveau de java je n'arrive pas à capturer le moment ou l'utilisateur enlève son doigt, la fin du OnTouch.Voici mon code
    public OnTouchListener TouchListener = new View.OnTouchListener()
        {
    		@Override
    		public boolean onTouch(View v, MotionEvent event)
    		
    		{
    			superText.setVisibility(-1);
    			return true;
    		}
        };
    

    J'ai vidé le code de toutes ses autres fonctions pour plus de clarté !
    La réponse doit être toute simple mais après de nombreuse recherche infructueuse j'ai décidé de venir vous exposer ma question.
    Je remercie d'avance l'âme charitable qui pourra me sauver et vous souhaite à tous un bon après-midi !
    • Partager sur Facebook
    • Partager sur Twitter
      13 juin 2012 à 14:02:04

      Bonjour,

      Il suffit de surcharger la méthode onTouchEvent (MotionEvent event):
      @Override
      public boolean onTouchEvent(MotionEvent event) {
          if(event.getAction() == MotionEvent.ACTION_UP) {
             // Ton code
          }
          // Return true si tu considères ton event comme pris en compte, false sinon
          return false;
      }
      


      La documentation: http://developer.android.com/reference [...] .MotionEvent)
      • Partager sur Facebook
      • Partager sur Twitter
        13 juin 2012 à 14:03:43

        Bonjour,

        Je ne sais pas où tu as été chercher mais avant toute chose, je te conseille de te rendre sur la documentation officielle dès que tu as un problème. La documentation Android est l'une des documentations les plus fournies. Ca serait bête de ne pas en profiter.

        Donc, concernant ton problème, c'est effectivement très simple. La méthode public boolean onTouch(View v, MotionEvent event) t'offre en second argument un MotionEvent qui peut prendre plusieurs valeurs. Par exemple :
        • ACTION_DOWN : Constant for getActionMasked(): A pressed gesture has started, the motion contains the initial starting location.
        • ACTION_UP : Constant for getActionMasked(): A pressed gesture has finished, the motion contains the final release location as well as any intermediate points since the last down or move event.

        Ces explications sont issues de la documentation officielle que tu pourras retrouver ici.

        Grilled. v.v
        • Partager sur Facebook
        • Partager sur Twitter
        Si vous voulez me retrouver, rendez-vous sur ZesteDeSavoir.
          13 juin 2012 à 14:10:29

          @AndroWiiid: non, je me suis légèrement planté.

          Je n'ai pas fait percuté sur le fait que la méthode onTouch() prend un MotionEvent en paramètre.

          Dans mon cas, j'ai préconisé l'utilisation de la fonction onTouchEvent() mais celle-ci s'applique à un objet de type View. Donc, à moins de créer ses propres widgets, il faut passer par le onTouchListener de l'OP et de toi même.

          10 points pour AndroWiiid et 10 coups de fouet pour moi.

          • Partager sur Facebook
          • Partager sur Twitter
            13 juin 2012 à 14:16:55

            :-° Ce n'était bel est bien pas compliqué...
            Il est vrai que j'ai un peu de peine avec la documentation officielle n'étant pas anglophone mais il faudra que je me mette à mieux chercher alors !
            Merci beaucoup pour vos réponses et bon après-midi !
            • Partager sur Facebook
            • Partager sur Twitter
              13 juin 2012 à 14:20:57

              Citation : djehuty

              :-° Ce n'était bel est bien pas compliqué...
              Il est vrai que j'ai un peu de peine avec la documentation officielle n'étant pas anglophone mais il faudra que je me mette à mieux chercher alors !
              Merci beaucoup pour vos réponses et bon après-midi !



              L'anglais est vraiment indispensable pour les développeurs Android. Je te conseille de t'y mettre.

              Citation : Fumble

              10 points pour AndroWiiid et 10 coups de fouet pour moi.


              J'accepte que tu te fouettes pour moi. ^^
              Ca sonne bizarre dit comme ça. :-°
              • Partager sur Facebook
              • Partager sur Twitter
              Si vous voulez me retrouver, rendez-vous sur ZesteDeSavoir.

              [android] Capturer la fin d'un OnTouch !

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown