次の方法で共有


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 ドキュメントandroid.view.ViewGroup.onInterceptTouchEvent(android.view.MotionEvent)

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

適用対象