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

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

返品

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

属性

注釈

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

この関数を使用すると、 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ドキュメント。

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

適用対象