ViewGroup.OnInterceptTouchEvent(MotionEvent) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
實施此方法攔截所有觸控螢幕動態事件。
[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 以竊取 Children 的動態事件,並透過 onTouchEvent() 將他們派送至 ViewGroup。 目前目標會收到ACTION_CANCEL事件,之後不會再傳送訊息。
- 屬性
備註
實施此方法攔截所有觸控螢幕動態事件。 這讓你能觀看事件如何傳送給你的孩子,並隨時掌握當前的手勢。
使用此函式需謹慎,因為它與 有相當複雜的互動 View#onTouchEvent(MotionEvent) View.onTouchEvent(MotionEvent),且使用時必須正確實作該方法與此方法。 活動將依下列順序接收:
<李奧爾><>,你會收到這裡的下去事件。
<li> 下墜事件會由此視圖群組的子節點處理,或交給你自己的 onTouchEvent() 方法來處理;這表示你應該實作 onTouchEvent() 來回傳 true,這樣你就能繼續看到手勢的其餘部分(而不是尋找父視圖來處理)。 此外,從 onTouchEvent( 返回 true)後,你不會在 onInterceptTouchEvent() 中接收後續事件,所有觸控處理都必須像平常一樣在 onTouchEvent() 進行。
<li> 只要你從這個函式回傳 false,之後每個事件(直到最後一個 up)都會先從這裡傳遞,然後再送到目標的 onTouchEvent()。
<li> 如果你從這裡返回 true,你將不會收到後續事件:目標視圖會收到相同的事件,但動作是 MotionEvent#ACTION_CANCEL,所有後續事件將傳送到你的 onTouchEvent() 方法,不再出現在這裡。
</ol>
Java 文件 android.view.ViewGroup.onInterceptTouchEvent(android.view.MotionEvent)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。