Bonjour,
je suis débutant en développement Android et j'essaie de réaliser un camembert avec des quartiers clickables (genre trivial poursuite).
Je suis parti sur une méthode de boutons rectangulaires sous superposés (un par quartier) dont le background est une image rectangulaire contenant le quartier et le reste est transparent.
Lors d'un click sur un bouton, dans mon onTouchEvent (j'ai sous-classé le android.widget.Button), je regarde la transparence et retourne false si transparent et traite l'événement sinon :
Seulement actuellement lorsque je clique en dehors d'un bouton, ça fonctionne correctement, mais si je clique sur un bouton, seul celui du dessus récupère l'événement
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 public boolean onTouchEvent(MotionEvent event) { Bitmap src = ((BitmapDrawable) this.getBackground()).getBitmap(); int px = src.getPixel((int) event.getX(), (int) event.getY()); int pixelTransparency = Color.alpha(src.getPixel((int) event.getX(),(int) event.getY())); // Log.d("touch event", new Boolean(px == Color.TRANSPARENT).toString()); Log.i("transparency", new Integer(pixelTransparency).toString()); if(pixelTransparency == Color.TRANSPARENT) return false; Log.i("TAG", this.getTag().toString()); return true; }
Partager