AccessibilityService.AttachAccessibilityOverlayToWindow 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在指定的視窗上附加一個無障礙覆蓋 android.view.SurfaceControl 層。
[Android.Runtime.Register("attachAccessibilityOverlayToWindow", "(ILandroid/view/SurfaceControl;)V", "GetAttachAccessibilityOverlayToWindow_ILandroid_view_SurfaceControl_Handler", ApiSince=34)]
public virtual void AttachAccessibilityOverlayToWindow(int accessibilityWindowId, Android.Views.SurfaceControl sc);
[<Android.Runtime.Register("attachAccessibilityOverlayToWindow", "(ILandroid/view/SurfaceControl;)V", "GetAttachAccessibilityOverlayToWindow_ILandroid_view_SurfaceControl_Handler", ApiSince=34)>]
abstract member AttachAccessibilityOverlayToWindow : int * Android.Views.SurfaceControl -> unit
override this.AttachAccessibilityOverlayToWindow : int * Android.Views.SurfaceControl -> unit
參數
- accessibilityWindowId
- Int32
視窗 ID,來自 AccessibilityWindowInfo#getId()。
SurfaceControl 則包含覆蓋內容
- 屬性
備註
在指定的視窗上附加一個無障礙覆蓋 android.view.SurfaceControl 層。 這種方法應該用於當你希望覆蓋層隨著父視窗移動和調整大小而移動和調整大小時。
一般來說,無障礙覆蓋層會是一個 android.view.View. 要將檢視 android.view.SurfaceControl嵌入 ,建立 並 android.view.SurfaceControlViewHost 使用 android.view.SurfaceControlViewHost#setView。 接著透過呼叫 viewHost.getSurfacePackage().getSurfaceControl()來取得 SurfaceControl。
要移除此覆蓋層並釋放相關資源,請使用 new SurfaceControl.Transaction().reparent(sc, null).apply();。
如果指定的覆蓋層已經附加到指定的視窗上,這個方法就不會有任何動作。 如果指定的覆蓋層已經附加到先前的視窗,這個函式會將覆蓋層轉移到新的視窗。 服務可以附加多個疊加層。 請使用 new SurfaceControl.Transaction().setLayer(sc, layer).apply();。 協調螢幕上疊加層的順序。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。