Ich habe einen FrameLayout
-Container, der viele Dinge enthält (einschließlich ScrollView
, WebView
, ViewPager
...).
Ich möchte das onClick-Ereignis für diesen Container auslösen können, aber es scheint, dass einige von ScrollView
, WebView
und ViewPager
das Berührungsereignis abfangen, da das onClick-Ereignis nur ausgelöst wird, wenn ich klicke auf den Teilen des Behälters, die keine von ihnen haben ...
Wie kann ich alle Berührungsereignisse auf den untergeordneten Objekten des Containers deaktivieren, um OnClick überall dort auslösen zu können?
UPDATE
Die Idee ist, etwas wie den Aufgabenmanager in Android 3.2 zu haben, d. h. wo der aktuell sichtbare Bildschirm der App als reduziertes Symbol angezeigt wird, auf das geklickt werden kann.
Danke
Vielleicht habe ich etwas falsch verstanden, aber ich denke, die Antwort auf Ihre Frage ist sehr einfach:
Wenn Sie keine der Berührungsereignisse an die Kinder senden möchten, müssen Sie einfach ViewGroup.onInterceptTouchEvent (MotionEvent ev)
API-Referenz wie folgt:
Laut der Android-Dokumentation bedeutet dies, dass Ihre ViewGroup alle Berührungsereignisse abfangen und nicht an die Kinder senden wird. Alle werden an die Methode ViewGroup.onTouchEvent(MotionEvent ev)
Ihrer ViewGroup weitergeleitet.
Tags und Links android scrollview webview android-viewpager onclick