ScrollView mit untergeordneter Ansicht, wie der Bildlauf bedingt abgefangen wird

Ich habe einen ContainerViewGroupNennen 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

Antworten auf die Frage(2)

Ihre Antwort auf die Frage