Je veux que mon application à reconnaître lorsqu’un utilisateur passe de droite à gauche sur l’écran du téléphone.
Comment faire cela ?
Je veux que mon application à reconnaître lorsqu’un utilisateur passe de droite à gauche sur l’écran du téléphone.
Comment faire cela ?
L'expansion de Mirek réponse, pour le cas où vous souhaitez utiliser les gestes de balayage à l'intérieur d'un défilement de l'affichage. Par défaut, la touche écouteur pour le défilement de l'affichage obtenir handicapées et, par conséquent, faire défiler l'action ne se produise pas. Afin de résoudre ce problème, vous devez remplacer l' dispatchTouchEvent
méthode de Activity
et le retour de la version héritée de cette méthode après vous avez terminé avec votre propre écouteur.
Afin de faire quelques modifications à Mirek code:
- Je ajouter un getter pour l' gestureDetector
dans la OnSwipeTouchListener
.
public GestureDetector getGestureDetector(){
return gestureDetector;
}
Déclarer l' OnSwipeTouchListener
à l'intérieur de l'Activité en classe à l'échelle du champ.
OnSwipeTouchListener onSwipeTouchListener;
Modifier l'utilisation de code en conséquence:
onSwipeTouchListener = new OnSwipeTouchListener() {
public void onSwipeTop() {
Toast.makeText(MyActivity.this, "top", Toast.LENGTH_SHORT).show();
}
public void onSwipeRight() {
Toast.makeText(MyActivity.this, "right", Toast.LENGTH_SHORT).show();
}
public void onSwipeLeft() {
Toast.makeText(MyActivity.this, "left", Toast.LENGTH_SHORT).show();
}
public void onSwipeBottom() {
Toast.makeText(MyActivity.this, "bottom", Toast.LENGTH_SHORT).show();
}
});
imageView.setOnTouchListener(onSwipeTouchListener);
Et remplacer l' dispatchTouchEvent
méthode de Activity
:
@Override
public boolean dispatchTouchEvent(MotionEvent ev){
swipeListener.getGestureDetector().onTouchEvent(ev);
return super.dispatchTouchEvent(ev);
}
Maintenant, à la fois de défilement et faites glisser les actions doivent travailler.
Utiliser SwipeListView et le laisser gérer la détection de mouvement pour vous.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.