Freigeben über


ViewGroup.OnInterceptTouchEvent(MotionEvent) Methode

Definition

Implementieren Sie diese Methode, um alle Bewegungsereignisse des Touchscreens abzufangen.

[Android.Runtime.Register("onInterceptTouchEvent", "(Landroid/view/MotionEvent;)Z", "GetOnInterceptTouchEvent_Landroid_view_MotionEvent_Handler")]
public virtual bool OnInterceptTouchEvent (Android.Views.MotionEvent? ev);
[<Android.Runtime.Register("onInterceptTouchEvent", "(Landroid/view/MotionEvent;)Z", "GetOnInterceptTouchEvent_Landroid_view_MotionEvent_Handler")>]
abstract member OnInterceptTouchEvent : Android.Views.MotionEvent -> bool
override this.OnInterceptTouchEvent : Android.Views.MotionEvent -> bool

Parameter

ev
MotionEvent

Das Bewegungsereignis, das in der Hierarchie verteilt wird.

Gibt zurück

Gibt true zurück, um Bewegungsereignisse von den untergeordneten Elementen zu stehlen und sie über onTouchEvent() an diese ViewGroup zu verteilen. Das aktuelle Ziel erhält ein ACTION_CANCEL Ereignis, und hier werden keine weiteren Nachrichten übermittelt.

Attribute

Hinweise

Implementieren Sie diese Methode, um alle Bewegungsereignisse des Touchscreens abzufangen. Auf diese Weise können Sie Ereignisse beobachten, während sie an Ihre Kinder verteilt werden, und die Besitzrechte der aktuellen Geste zu jedem Zeitpunkt übernehmen.

Die Verwendung dieser Funktion hat eine gewisse Sorgfalt, da sie eine ziemlich komplizierte Interaktion mit View#onTouchEvent(MotionEvent) View.onTouchEvent(MotionEvent)und die Verwendung erfordert, dass diese Methode sowie diese methode auf die richtige Weise implementiert wird. Ereignisse werden in der folgenden Reihenfolge empfangen:

<ol><li> Sie erhalten hier das Down-Ereignis. <li> The down event will be handled by a child of this view group, or given to your own onTouchEvent() method to handle; this means you should implement onTouchEvent() to return true, so you will continue to see the rest of the gest (instead of such for a parent view to handle it). Wenn Sie "true" von onTouchEvent() zurückgeben, erhalten Sie außerdem keine folgenden Ereignisse in onInterceptTouchEvent() und alle Touchverarbeitungen müssen in onTouchEvent() wie normal erfolgen. <li> Solange Sie "false" von dieser Funktion zurückgeben, werden jedes folgende Ereignis (bis einschließlich des Endgültigen) zuerst hier und dann an das onTouchEvent() des Ziels übermittelt. <li> Wenn Sie "true" von hier zurückgeben, erhalten Sie keine folgenden Ereignisse: Die Zielansicht empfängt dasselbe Ereignis, aber mit der Aktion MotionEvent#ACTION_CANCEL, und alle weiteren Ereignisse werden an Ihre onTouchEvent()-Methode übermittelt und werden hier nicht mehr angezeigt. </ol>

Java-Dokumentation für android.view.ViewGroup.onInterceptTouchEvent(android.view.MotionEvent).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: