Comment puis-je maintenir des événements OnTouch traités par un widget, même si coords tactiles ne sont pas dans le widget plus, dans Android
-
25-10-2019 - |
Question
Désolé pour la question complexe laissez-moi vous expliquer. J'ai créé une coutume widget poignées des événements OnTouch. Ce que je veux faire est quand je commence un événement tactile sur ce widget personnalisé (onDown) je veux que widget pour garder la manipulation de ces événements, même si les coordinations absolues ne sont pas dans ce widget.
J'ai un scrollview et en plus de cela (à l'intérieur du scrollview) un widget qui gère - défile (gauche à droite). Mais si je déplace le doigt verticalement les événements OnTouch sont consommés et manipulés par le scollview. S'il y a un moyen de forbit scrollview aux événements tactiles de poignée, ou mieux forcer le widget personnalisé pour garder la manipulation du TouchEvent, si je commence le ontouchEvent dans le widget personnalisé?
Mise à jour je suis tombé sur cette http: // groupes .google.com / groupe / androïde-cadre / browse_thread / fil / 2cdd4269dfb2772e? PLI = 1 .
qui fonctionne dans mon cas, si la coutume widget est pas dans une vue défilement comme « ScrollView ». Essayer de résoudre le « Beeing dans un objet défilement. Comment ne pas envoyer ces derniers sur touchevents au parent? De retour vrai ne résout pas le problème
La solution
Autres conseils
Vous devrez implémenter une sous-classe spéciale de ScrollView, ce qui permet à votre widget pour dire à défilement quand on le souhaite désactiver (il ne commence à défiler après et prendre un mouvement suffisant des événements de votre widget). La coutume ScrollView peut remplacer cette méthode:
Lorsque vous ne voulez pas la classe de base pour consommer des événements tactiles pour rouleaux, faux retour ici au lieu d'appeler la mise en œuvre de base.