Idioma

View.OnProvideAutofillStructure(ViewStructure, AutofillFlags) Método

Definição

Preenche um ViewStructure para atender a uma solicitação de preenchimento automático.

[Android.Runtime.Register("onProvideAutofillStructure", "(Landroid/view/ViewStructure;I)V", "GetOnProvideAutofillStructure_Landroid_view_ViewStructure_IHandler", ApiSince=26)]
public virtual void OnProvideAutofillStructure(Android.Views.ViewStructure? structure, Android.Views.AutofillFlags flags);
[<Android.Runtime.Register("onProvideAutofillStructure", "(Landroid/view/ViewStructure;I)V", "GetOnProvideAutofillStructure_Landroid_view_ViewStructure_IHandler", ApiSince=26)>]
abstract member OnProvideAutofillStructure : Android.Views.ViewStructure * Android.Views.AutofillFlags -> unit
override this.OnProvideAutofillStructure : Android.Views.ViewStructure * Android.Views.AutofillFlags -> unit

Parâmetros

structure
ViewStructure

preencha com dados de exibição estruturados para fins de preenchimento automático.

flags
AutofillFlags

sinalizadores opcionais.

Atributos

Comentários

Preenche um ViewStructure para atender a uma solicitação de preenchimento automático.

A estrutura deve conter pelo menos as seguintes propriedades: <ul><li>Autofill id (ViewStructure#setAutofillId(AutofillId, int)). <li>Autofill type (ViewStructure#setAutofillType(int)). <li>Autofill value (ViewStructure#setAutofillValue(AutofillValue)). <li>Se os dados são confidenciais (ViewStructure#setDataIsSensitive(boolean)). </ul>

Também é recomendável definir as seguintes propriedades: quanto mais propriedades a estrutura tiver, maiores as chances de usar android.service.autofill.AutofillService corretamente a estrutura:

<dicas de preenchimento automático ul><li>(ViewStructure#setAutofillHints(String[])). <li>Opções de preenchimento automático (ViewStructure#setAutofillOptions(CharSequence[])) quando o modo de exibição só pode ser preenchido com valores predefinidos (normalmente usado quando o tipo de preenchimento automático é #AUTOFILL_TYPE_LIST). <li>ID do recurso (ViewStructure#setId(int, String, String, String)). <nome da classe li>(ViewStructure#setClassName(String)). <li>Descrição do conteúdo (ViewStructure#setContentDescription(CharSequence)). <propriedades visuais li>, como visibilidade (ViewStructure#setVisibility(int)), dimensões (ViewStructure#setDimens(int, int, int, int, int, int)) e opacidade (ViewStructure#setOpaque(boolean)). <li>Para exibições que representam campos de texto, propriedades de texto como o próprio texto (ViewStructure#setText(CharSequence)), dicas de texto (ViewStructure#setHint(CharSequence), tipo de entrada (ViewStructure#setInputType(int)), <li>Para exibições que representam nós HTML, seu domínio da Web (ViewStructure#setWebDomain(String)) e propriedades HTML ((ViewStructure#setHtmlInfo(android.view.ViewStructure.HtmlInfo)). </ul>

A implementação padrão desse método já define a maioria dessas propriedades com base em métodos relacionados View (por exemplo, a ID de preenchimento automático é definida usando #getAutofillId(), o conjunto de tipos de preenchimento automático usando #getAutofillType(), etc.) e as exibições na biblioteca de widgets padrão do Android também a substituem para definir suas propriedades relevantes (por exemplo, já define as propriedades de texto), portanto, android.widget.TextView é recomendável substituir apenas esse método (e chamar super.onProvideAutofillStructure()) quando:

<ul><li>O conteúdo do modo de exibição não inclui PII (Informações de Identificação Pessoal), portanto, ele pode chamar ViewStructure#setDataIsSensitive(boolean) a passagem false. <li>O modo de exibição só pode ser preenchido automaticamente com opções predefinidas, para que possa chamar ViewStructure#setAutofillOptions(CharSequence[]). </ul>

<b>Observação:</b> O left e top os valores definidos ViewStructure#setDimens(int, int, int, int, int, int) devem ser relativos à próxima ViewGroup#isImportantForAutofill() exibição predecessora incluída na estrutura.

As exibições dão suporte principalmente à Estrutura de Preenchimento Automático: <ul><li>Fornecendo os metadados que definem o que o modo de exibição significa e como ele pode ser preenchido automaticamente. <li>Notificando o Sistema Android quando o valor da exibição foi alterado chamando AutofillManager#notifyValueChanged(View). <li>Implementando os métodos que armazenam automaticamente a exibição. </ul>

Esse método é responsável pelo primeiro; #autofill(AutofillValue) é responsável pelo último.

Documentação Java para android.view.View.onProvideAutofillStructure(android.view.ViewStructure, int).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usadas de acordo com os termos descritos na Licença de Atribuição Creative Commons 2.5.

Aplica-se a