View.RequestPointerCapture 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | Description |
|---|---|
| RequestPointerCapture() |
請求指標擷取模式。 |
| RequestPointerCapture(Int32) |
請求以指定模式擷取指標。 |
RequestPointerCapture()
請求指標擷取模式。
[Android.Runtime.Register("requestPointerCapture", "()V", "GetRequestPointerCaptureHandler", ApiSince=26)]
public virtual void RequestPointerCapture();
[<Android.Runtime.Register("requestPointerCapture", "()V", "GetRequestPointerCaptureHandler", ApiSince=26)>]
abstract member RequestPointerCapture : unit -> unit
override this.RequestPointerCapture : unit -> unit
- 屬性
備註
請求指標擷取模式。
當視窗有指標擷取時,滑鼠指標圖示會消失且位置不變。 啟用指標擷取將以以下方式改變輸入裝置的行為:<ul><li>來自滑鼠的事件會隨來源 InputDevice#SOURCE_MOUSE_RELATIVE傳送,且相對位置的變化將透過 和 MotionEvent#getX提供MotionEvent#getY。</李>
<來自觸控板或觸控板的事件>會隨來源 InputDevice#SOURCE_TOUCHPAD傳送,其中觸控板上每個指標的絕對位置會透過 MotionEvent#getX(int) 和 MotionEvent#getY(int),而它們的相對移動則儲存在 MotionEvent#AXIS_RELATIVE_X 和 MotionEvent#AXIS_RELATIVE_Y中。</李>
<來自其他類型的裝置(如觸控螢幕)的事件>則不會受到影響。</li></ul>
當指標擷取改變時,連接的滑鼠與觸控板裝置可能會被重新配置,且其屬性(如來源或動作範圍)可能會改變。 當裝置變更時( android.hardware.input.InputManager.InputDeviceListener 可能在啟用或停用指標擷取後發生)會收到通知,並用 InputDevice#getDevice(int) 來取得更新 InputDevice的 .
透過指標捕獲的事件若設定為 ,OnCapturedPointerListener#onCapturedPointer(View, MotionEvent)則會派遣至 OnCapturedPointerListener ,否則 為 #onCapturedPointerEvent(MotionEvent)。
如果視窗已經有指標擷取功能,這個呼叫就不會做任何事。
捕捉可以從 釋放, #releasePointerCapture()或在視窗失去焦點時自動遺失。
的 android.view.View.requestPointerCapture()Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
適用於
RequestPointerCapture(Int32)
請求以指定模式擷取指標。
[Android.Runtime.Register("requestPointerCapture", "(I)V", "GetRequestPointerCapture_IHandler", ApiSince=37)]
public virtual void RequestPointerCapture(int mode);
[<Android.Runtime.Register("requestPointerCapture", "(I)V", "GetRequestPointerCapture_IHandler", ApiSince=37)>]
abstract member RequestPointerCapture : int -> unit
override this.RequestPointerCapture : int -> unit
參數
- mode
- Int32
捕捉指標的模式,決定了如何從觸控板傳送事件。 價值屬於以下之一:POINTER_CAPTURE_MODE_UNCAPTURED;POINTER_CAPTURE_MODE_ABSOLUTE;POINTER_CAPTURE_MODE_RELATIVE
- 屬性
備註
請求以指定模式擷取指標。
當視窗有指標擷取時,滑鼠指標圖示會消失且位置不變。 啟用指標擷取會以以下方式改變輸入裝置的行為:來自滑鼠的事件會隨來源InputDevice.SOURCE_MOUSE_RELATIVE一同傳送,且相對位置的變更可透過 MotionEvent.getX 與 MotionEvent.getY;觸控板(也稱為觸控板)的事件會依據所選指標擷取模式傳送。 詳情請參見POINTER_CAPTURE_MODE_RELATIVE和POINTER_CAPTURE_MODE_ABSOLUTE;其他類型的裝置事件,例如觸控螢幕,則不會受到影響。
此模式下不會套用指標彈道曲線及使用者的指標速度設定。
當指標擷取改變時,連接的滑鼠與觸控板裝置可能會被重新配置,且其屬性(如來源或動作範圍)可能會改變。 使用 InputManager.InputDeviceListener 在裝置變更時收到通知(可能在啟用或停用指標擷取後發生),並使用 InputDevice.getDevice(int) 取得更新後的 InputDevice。
透過指標擷取的事件,若設定了 OnCapturedPointerListener,則會被發送至 OnCapturedPointerListener.onCapturedPointer(View,MotionEvent),否則則發送至 onCapturedPointerEvent(MotionEvent)。
如果視窗已經在同一模式下有指標擷取,這個呼叫就不會有任何動作。 如果它已經在不同模式中有指標擷取,它會切換到新模式。
擷取可以透過 releasePointerCapture() 釋放,或在視窗失去焦點時自動遺失。
Android 參考資料。android.view.View.requestPointerCapture
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。