2013-08-30 3 views
0

J'ai un fichier XML dans lequel j'ai 2 mises en page relatives, la première est la carte (en utilisant des fragments de carte) et la seconde est la disposition ViewPager. J'ai ajouté un bouton pour mapper la carte lorsque je clique dessus, maintenant je veux une méthode pour récupérer la disposition de la carte en balayant l'écran.OnTouch event on Screen

J'ai essayé la mise à disposition relative onTouchListener mais il ne fonctionne pas, aussi essayé la mise en œuvre OnTouchListener

MainActivity public class étend FragmentActivity implémente OnTouchListener

il ne fonctionne pas! comment y parvenir?

@Override 
    public boolean onTouch(View v, MotionEvent event) { 

     x= event.getX(); 
     y=event.getY(); 

     switch(event.getAction()) 
     { 
      case MotionEvent.ACTION_DOWN: 
       sX = event.getX(); 
       sY = event.getY(); 
       break; 
      case MotionEvent.ACTION_UP: 
       fX = event.getX(); 
       fY = event.getY(); 
       if(fX-sX == 0 || fX-sX > 0 || fX-sX <0) 
        if(fY-sY < 0) 
        { 

         if(mapview.getVisibility()==View.GONE) 
         { 
          mapview.setVisibility(View.VISIBLE); 

         } 
        } 
       break; 
     } 
     return true; 
    } 
+0

aussi je veux savoir ce que exactement ACTION_DOWN et ACTION_UP signifient? –

+0

'si (fX-sX == 0 || fX-sX> 0 || fX-sX <0)' Umm, quoi? Pourquoi ne pas simplement utiliser 'if (true)' ou le supprimer complètement? – Geobits

+1

Sur le sujet, cependant, votre 'ViewPager' intercepte probablement l'événement tactile. Pouvez-vous enregistrer cette méthode pour voir si elle est appelée? – Geobits

Répondre

0

votre code postal, btw de manière simple, ACTION_DOWN est quand vous touchez l'écran, ACTION_UP est dès que vous appliquerez libérer l'écran. Look here

+0

posté mon code s'il vous plaît jeter un oeil à l'intérieur –

+0

Pour être plus exact , 'ACTION_DOWN' est quand le premier doigt touche l'écran et ACTION_UP est quand le dernier doigt se lève. Pour tout ce qui est entre les deux, vous devez utiliser les options 'ACTION_POINTER_xxx' à la place. – Geobits

+0

@Geobits merci! Je l'ai! Je dois y regarder. –