ScrollView mit untergeordneter Ansicht, wie der Bildlauf bedingt abgefangen wird
Ich habe einen ContainerViewGroup
Nennen wir esBildschirm in einemScrollView
. Diese Containeransicht enthält eine Reihe von anderenViews
Nennen wir sieWidgetsund einige von ihnen sind daran interessiert, das Scrollen der ScrollView zu verhindern und das MotionEvent selbst zu verwenden (z. B. ein verschiebbares Bild).
Ich kann die richtige Strategie zum Abfangen von Ereignissen nicht herausfinden.ScrollView
Verarbeitet das Ereignis immer vor den Kindern, oder die Kinder verarbeiten das Ereignis aberscrollview
ist behindert.
Ich habe über das Ausstellen gelesengetParent().requestDisableInterceptTouchEvent()
in den untergeordneten Ansichten, wenn diese Ansicht das Ereignis erfassen möchte, aber derenonTouchEvent
heißt wohl nicht weilScrollView
hat das Ereignis vorher verschlungen. Ich denke, die Tatsache, dass ich 2 Ebenen (Container + Widgets) habe, verhindert, dass dies funktioniert, ich nehme an, der ContainerViewGroup
muss hier eine wichtige Rolle spielen, aber ich kann nicht herausfinden, welche ...
Kann ich wissen, bei derScrollView's
onInterceptTouchEvent
Ebene, welches Widget auf dem ContainerviewGroup
wurde berührt, um zu entscheiden, ob ich abfangen soll oder nicht?
oder...
Wie kann das 'Widget' Ebenenin demViewGroup
Holen Sie sich die Veranstaltung vorScrollView
also kann ich anrufengetParent().onRequestDisableInterceptTouch()
... oder ist esgetParent().getParent().onRequestDisableInterceptTouch()
?
Danke im Voraus
Ich habe verwandte Fragen gelesen, aber kein Glück ...Verarbeiten Sie Berührungsereignisse in ScrollView Android