View.OnProvideAutofillStructure(ViewStructure, AutofillFlags) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.
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.