ViewGroup.OnInterceptTouchEvent(MotionEvent) メソッド

定義

このメソッドを実装して、すべてのタッチ スクリーン モーション イベントをインターセプトします。

[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

パラメーター

ev
MotionEvent

階層の下にディスパッチされるモーション イベント。

戻り値

true を返して、子からモーション イベントを盗み、onTouchEvent() を介してこの ViewGroup にディスパッチさせます。 現在のターゲットは ACTION_CANCEL イベントを受け取り、ここにはそれ以上のメッセージは配信されません。

属性

注釈

このメソッドを実装して、すべてのタッチ スクリーン モーション イベントをインターセプトします。 これにより、子にディスパッチされるイベントをwatchし、任意の時点で現在のジェスチャの所有権を取得できます。

この関数を使用すると、 とかなり複雑なやり取 View#onTouchEvent(MotionEvent) View.onTouchEvent(MotionEvent)りが行われるので、この関数を使用するには、そのメソッドと、このメソッドを正しい方法で実装する必要があるため、注意が必要です。 イベントは次の順序で受信されます。

<ol><li> ここでダウン イベントを受け取ります。 <li> ダウン イベントは、このビュー グループの子によって処理されるか、処理する独自の onTouchEvent() メソッドに渡されます。つまり、true を返すには onTouchEvent() を実装する必要があるため、(処理する親ビューを探す代わりに) ジェスチャの残りの部分が引き続き表示されます。 また、onTouchEvent() から true を返すことで、onInterceptTouchEvent() で次のイベントが発生することはありません。また、すべてのタッチ処理は通常と同様に onTouchEvent() で行う必要があります。 <li> この関数から false を返す限り、次の各イベント (最後のアップまで) は最初にここで配信され、次にターゲットの onTouchEvent() に配信されます。 <li> ここから true を返した場合、次のイベントは受け取りません。ターゲット ビューは同じイベントを受け取りますが、アクション MotionEvent#ACTION_CANCELを使用すると、それ以降のすべてのイベントは onTouchEvent() メソッドに配信され、ここには表示されなくなります。 </Ol>

の Java ドキュメント android.view.ViewGroup.onInterceptTouchEvent(android.view.MotionEvent)

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象