web-dev-qa-db-fra.com

Différence entre TextInputLayout et TextInputEditText

Besoin de savoir quelle différence entre TextInputEditText et TextInputLayout, quand devrions-nous utiliser l'un d'eux?.

16
Dwivedi Ji

Ce sont des mises en page différentes qui se complètent mutuellement.

  • TextInputLayout étend LinearLayout
  • TextInputEditText étend EditText

Ils étaient destinés à être utilisés ensemble comme suit:

<TextInputLayout>
   <TextInputEditText/>
</TextInputLayout>

Tout est là sur la documentation officielle:

TextInputLayout:

https://developer.Android.com/reference/Android/support/design/widget/TextInputLayout.html

Disposition qui englobe un EditText (ou un descendant) pour afficher une étiquette flottante lorsque l'indicateur est masqué en raison du texte saisi par l'utilisateur

TextInputEditText:

https://developer.Android.com/reference/Android/support/design/widget/TextInputEditText.html

Une sous-classe spéciale de EditText conçue pour être utilisée en tant qu'enfant de TextInputLayout.

21
Budius

_ {Règle de base} _: TextInputLayout devrait envelopper TextInputEditText au lieu de la EditText normale.
Reason: TextInputEditText est une sous-classe de EditText et est conçu pour être utilisé en tant qu'enfant de TextInputLayout.

Utiliser une EditText au lieu de TextInputEditText nous tirerait un avertissement

EditText ajouté n'est pas un TextInputEditText. Veuillez passer à utiliser cette classe à la place.

Par exemple, si vous enveloppez EditText, en mode Paysage, vous obtiendrez une grande boîte, mais l’indice est manquant.

Fonctionnalités Android TextInputLayout: 

  • Activation/désactivation des indicateurs flottants
  • Activer/Désactiver l'animation d'indices flottants 
  • Affichage des messages d'erreur
  • Afficher le compteur de personnage 
  • Alarme de l'utilisateur lorsque le nombre de caractères dépasse sa limite 
  • Personnalisation de l'apparence du texte pour l'indicateur flottant, le libellé d'erreur , Le compteur de caractères 
  • Visibilité du mot de passe

lire la suite ici - https://www.journaldev.com/14748/Android-textinputlayout-example

7
yoAlex5

TextInputLayout et TextInputEditText sont tous deux différents. Comme mentionné dans la documentation Ici les TextInputLayout et TextInputEditText sont destinés à être utilisés comme dans l'exemple ci-dessous (From doc officiel)

<Android.support.design.widget.TextInputLayout
     Android:layout_width="match_parent"
     Android:layout_height="wrap_content">

<Android.support.design.widget.TextInputEditText
         Android:layout_width="match_parent"
         Android:layout_height="wrap_content"
         Android:hint="@string/form_username"/>

</Android.support.design.widget.TextInputLayout>

La différence principale réside également dans la comparaison de TextInputEditText avec EditText. La TextInputEditText fournit un indice lorsque la mise en page est affichée en mode paysage. Ceci est expliqué clairement en profondeur par TWiStErRob . J'espère que cela répond à la question. Je vous remercie.

1
mohammed nathar