J'ai un bouton que je gère via un gestionnaire onClick.Gestion simultanée des événements onClick et onTouchEvent
Cependant, j'ai également besoin de répondre aux événements onTouchEvent pour pouvoir gérer l'éclairage des boutons. Le problème est que, si je retourne "false" de mon gestionnaire onTouchEvent, il appellera le gestionnaire onClick, mais ne me donnera jamais un onTouchEvent pour l'événement "up" suivant.
Si je renvoie "true" à partir d'onTouchEvent, je reçois l'événement "up", mais il ne le transmettra jamais à onClick.
Alors, quelles sont mes options?
Mettre en oeuvre mon propre « cliquez sur » la manipulation à l'intérieur onTouchEvent - ce qui signifie que je serais obligé de suivre et se déplace en dehors de la zone du bouton, etc. semble un peu compliqué.
Je pourrais avoir mon bouton utiliser un sélecteur au lieu d'une seule image, et assigner des images différentes pour différents états. Le problème que j'ai avec cela est que les sélecteurs sont lourds à changer les images, que je dois faire. (Lorsque mon application est dans les différents « modes », les images de bouton pour les différents états changent. Encore une fois, cela semble trop compliqué.
est pas là un moyen simple d'accomplir tout cela ???
Laissez-moi voir si je comprends bien. Vous voulez remplacer la surbrillance par défaut d'un bouton par la vôtre? Si oui, pouvez-vous faire tout votre surbrillance dans onTouch et appeler button.performClick() lorsque vous recevez ACTION_UP? performClick appelle la méthode onClick du bouton, si un onclicklistener est défini. –