Bonjour,
J'utilise une classe dérivée de SimpleOnGestureListener afin de pouvoir interagir avec les mouvements du doigt sur l'écran. Ca fonctionne bien
Le problème étant que je recrée cette classe et tout ce qui va avec pour chaque Activity dans mon application, ce qui fait beaucoup de copier-coller.
Comment arriver a créer une classe indépendante ou je n'aurais qu'a gérer 2 évènements (MouvementADroite() et MouvementAGauche() ) dans chaque Activity ?
Voila en gros mon code simplifié copié dans chaque Activity :
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
40
41
42
43
44
45
46 public class Activity1 extends Activity { private GestureDetector gestureDetector; View.OnTouchListener gestureListener; public void onCreate(Bundle savedInstanceState) { this.requestWindowFeature(Window.FEATURE_NO_TITLE); super.onCreate(savedInstanceState); this.setContentView(R.layout.truc); gestureDetector = new GestureDetector(new MyGestureDetector()); gestureListener = new View.OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { if (gestureDetector.onTouchEvent(event)) { return true; } return false; } }; } /** * Gestion du déplacement entre vues par simple glissage du doigt * @author Admin * */ class MyGestureDetector extends SimpleOnGestureListener { @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { try { if (...) { // droite vers gauche : le but serait de déclencher un évènement FonctionDroite(); } else if (...) { // gauche vers droite : le but serait de déclencher un évènement FonctionGauche(); } } catch (Exception e) { // nothing } return false; } } }
Partager