View.OnProvideContentCaptureStructure(ViewStructure, Int32) メソッド

定義

コンテンツ キャプチャの ViewStructure を設定します。

[Android.Runtime.Register("onProvideContentCaptureStructure", "(Landroid/view/ViewStructure;I)V", "GetOnProvideContentCaptureStructure_Landroid_view_ViewStructure_IHandler", ApiSince=30)]
public virtual void OnProvideContentCaptureStructure(Android.Views.ViewStructure structure, int flags);
[<Android.Runtime.Register("onProvideContentCaptureStructure", "(Landroid/view/ViewStructure;I)V", "GetOnProvideContentCaptureStructure_Landroid_view_ViewStructure_IHandler", ApiSince=30)>]
abstract member OnProvideContentCaptureStructure : Android.Views.ViewStructure * int -> unit
override this.OnProvideContentCaptureStructure : Android.Views.ViewStructure * int -> unit

パラメーター

structure
ViewStructure

構造体に使用される Android.Views.ViewStructure 値。

flags
Int32

フラグに使用される System.Int32 値。

属性

注釈

コンテンツ キャプチャの ViewStructure を設定します。

このメソッドは、コンテンツ キャプチャの対象となるビュー (たとえば、 #isImportantForContentCapture()、インテリジェンス サービスがユーザーに対して有効になり、ビューのレンダリングがコンテンツ キャプチャに対して有効になっているアクティビティ) がレイアウトされて表示された後に呼び出されます。 その後、設定された構造体は、 ContentCaptureSession#notifyViewAppeared(ViewStructure)を介してサービスに渡されます。

このメソッドの既定の実装では、関連する View メソッドに基づいて最も関連性の高いプロパティが設定され、標準の Android ウィジェット ライブラリのビューもオーバーライドされ、関連するプロパティが設定されます。 したがって、このメソッドをオーバーライドする場合は、 super.onProvideContentCaptureStructure()を呼び出することをお勧めします。

<b>Note: このビューの下で仮想構造を管理する </b>ビューは、このビューを表すノードだけを設定し、すぐに戻る必要があります。その後、子ノードが表示されたとき、非表示になったり、 ContentCaptureSession#notifyViewAppeared(ViewStructure)ContentCaptureSession#notifyViewDisappeared(AutofillId)ContentCaptureSession#notifyViewTextChanged(AutofillId, CharSequence) を呼び出してテキストが変更されたときに、非同期的に報告する必要があります (UI スレッドでは必ずしもありません)。 子の構造は、 ContentCaptureSession#newVirtualViewStructure(AutofillId, long)を使用して作成する必要があります。また、子の autofillId は、 childStructure.getAutofillId() または ContentCaptureSession#newAutofillId(AutofillId, long)を使用して取得できます。

仮想ビュー階層が Web ページを表す場合は、次のことも行う必要があります。

<ul><li>コンテンツ キャプチャ イベントを推論する ContentCaptureManager#getContentCaptureConditions() は、その URL に対して生成する必要があります。 <li>新しい URL (ContentCaptureSession など) をレンダリングするすべての HTML 要素に対して新しいIFRAME子を作成し、そのセッションを使用してそのサブツリーからイベントに通知します。 </ul>

<b>Note: </b>structureの次のメソッドは無視されます:<ul><li>ViewStructure#setChildCount(int)<li>ViewStructure#addChildCount(int)<li>ViewStructure#getChildCount()<li>ViewStructure#newChild(int)<li>ViewStructure#asyncNewChild(int)<li>ViewStructure#asyncCommit()<>ViewStructure#setWebDomain(String)<li>ViewStructure#newHtmlInfoBuilder(String)<li>ViewStructure#setHtmlInfo(android.view.ViewStructure.HtmlInfo)<li>ViewStructure#setDataIsSensitive(boolean)<li>ViewStructure#setAlpha(float)<li>ViewStructure#setElevation(float)<li>ViewStructure#setTransformation(Matrix)</ul>

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象