Bonjour à toutes et à tous,
Dans une application GPS où j'affiche des cartes, je voudrais pouvoir intervenir au plus haut niveau pour intercepter les évènement de touché d'écran. J'ai vu qu'il existait un gestionnaire d'évènement s'appelant "onInterceptTouchEvent". Je n'arrive pas à le mettre en œuvre. Apparemment ce gestionnaire fonctionne avec les ViewGroup ... que je n'ai pas dans mon application.
Pourtant, dans mon application je gère bien les évènement de touché par un gestionnaire tel que le montre le code suivant ;
Comment introduire dans ce code le gestionnaire onInterceptTouchEvent ?
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 public class MainActivity extends Activity implements SensorEventListener, LocationListener { ... RelativeLayout affCarte; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ... affCarte = (RelativeLayout)findViewById(R.id.AffCarte); monImg = new Dessin(this); affCarte.addView(monImg); ... affCarte.setOnTouchListener(new View.OnTouchListener() { // Déplacement de la carte par touché de l'écran @Override public boolean onTouch(View v, MotionEvent event) { int action = event.getAction(); if (action == MotionEvent.ACTION_DOWN) { xd = event.getX(); yd = event.getY(); } if (action == MotionEvent.ACTION_MOVE) { deplaceAff(event.getX(), event.getY()); } if (action == MotionEvent.ACTION_UP) { ... } } return false; } }); }
Merci de votre aide.
Pierre
Partager