View.OnProvideAutofillVirtualStructure(ViewStructure, AutofillFlags) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
填充 ViewStructure 包含虛擬子節點以完成自動填充請求。
[Android.Runtime.Register("onProvideAutofillVirtualStructure", "(Landroid/view/ViewStructure;I)V", "GetOnProvideAutofillVirtualStructure_Landroid_view_ViewStructure_IHandler", ApiSince=26)]
public virtual void OnProvideAutofillVirtualStructure(Android.Views.ViewStructure? structure, Android.Views.AutofillFlags flags);
[<Android.Runtime.Register("onProvideAutofillVirtualStructure", "(Landroid/view/ViewStructure;I)V", "GetOnProvideAutofillVirtualStructure_Landroid_view_ViewStructure_IHandler", ApiSince=26)>]
abstract member OnProvideAutofillVirtualStructure : Android.Views.ViewStructure * Android.Views.AutofillFlags -> unit
override this.OnProvideAutofillVirtualStructure : Android.Views.ViewStructure * Android.Views.AutofillFlags -> unit
參數
- structure
- ViewStructure
請填寫虛擬子資料以供自動填充。
- flags
- AutofillFlags
可選的旗幟。
- 屬性
備註
填充 ViewStructure 包含虛擬子節點以完成自動填充請求。
當視圖管理虛擬結構時,應使用此方法。 例如,一個使用 #draw(Canvas)S 繪製輸入欄位的視圖。
實作此方法時,子類別必須遵循以下規則:
<ul>li 透過呼叫 or <> 方法加入虛擬子節點,其中 是ViewStructure#newChild(int)唯一識別子節點,識別虛擬結構中的子節點。ViewStructure#asyncNewChild(int)id
<子>層級若有需要可以有多個層級,但理想狀況下應排除與自動填充無關的中間層;這樣可以提升自動填充的效能。
<LI>也實作 #autofill(SparseArray) 自動填充虛擬子節點。
<li>將子結構的自動填充屬性設定為 ,定義為 #onProvideAutofillStructure(ViewStructure, int),使用 ViewStructure#setAutofillId(AutofillId, int) 來設定其自動填充 ID。 <當專注的虛擬孩子改變時,請>呼喚 android.view.autofill.AutofillManager#notifyViewEntered(View, int, Rect) 和/或 android.view.autofill.AutofillManager#notifyViewExited(View, int) 。
<li>Override #isVisibleToUserForAutofill(int) 讓平台能查詢某個虛擬視圖是否對使用者可見,以支援在所有感興趣視圖消失後觸發儲存。
<當虛擬子節點的值改變時,li>呼叫 android.view.autofill.AutofillManager#notifyValueChanged(View, int, AutofillValue) 。
<當虛擬兒童的可見性改變時,我>會打電話 android.view.autofill.AutofillManager#notifyViewVisibilityChanged(View, int, boolean) 。
<當點擊虛擬兒童時,請>呼叫 android.view.autofill.AutofillManager#notifyViewClicked(View, int) 。
<當>視圖結構的自動填充上下文改變且應該提交當前上下文時(例如使用者點擊 AutofillManager#commit() HTML 頁面中的按鈕時),呼叫 SUBMIT li
<當>AutofillManager#cancel()視圖結構的自動填充上下文改變且當前上下文應取消時(例如使用者點擊 CANCEL HTML 頁面中的按鈕時),呼叫 li
<li>提供使用者手動請求自動填充的方法,請透過呼叫 AutofillManager#requestAutofill(View, int, Rect)。
<li>left 所設定的 top 和 ViewStructure#setDimens(int, int, int, int, int, int) 值必須相對於結構中包含的下一個ViewGroup#isImportantForAutofill()前置視圖。
</ul>
帶有虛擬子節點的視圖主要透過以下 <方式支援自動填充框架:ul><li>提供定義虛擬子節點意義及如何自動填充的元資料。 <li>實作自動填充虛擬子節點的方法。 </ul>
此方法負責前者; #autofill(SparseArray) 負責後者。
的 android.view.View.onProvideAutofillVirtualStructure(android.view.ViewStructure, int)Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。