Différence entre android: inputType= "textPassword","textVisiblePassword"," textWebPassword "et" numberPassword " dans android?

Est-ce que quelqu'un peut expliquer les différences entre les

   android:inputType="textPassword",
   android:inputType="textVisiblePassword",
   android:inputType="textWebPassword",
   android:inputType="numberPassword"

de EditText ViewGroup Android, Mise en page?

21
demandé sur kablu 2014-05-04 12:41:22

3 réponses

le doc pour android:inputType:

textPassword

Valeur: 0x00000081

Texte qui est un mot de passe. Correspond à

TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_PASSWORD.

textVisiblePassword

Valeur: 0x00000091

Texte qui est un mot de passe qui devrait être visible. Correspond à

TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_VISIBLE_PASSWORD.

textWebPassword

Valeur: 0x000000e1

Texte qui sera utilisé comme mot de passe sur un formulaire web. Correspond à

TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_WEB_PASSWORD.

numbererpassword

Valeur: 0x00000012

Un champ mot de passe numérique. Correspond à

TYPE_CLASS_NUMBER | TYPE_NUMBER_VARIATION_PASSWORD.

7
répondu S.Thiongane 2017-12-15 07:12:30
android:inputType="textPassword"

l'attribut ci-dessus prendra le mot de passe comme une chaîne.

android:inputType="textVisiblePassword"

celui ci-dessus rendra le texte du mot de passe visible.

android:inputType="numberPassword"

et celui-ci ne prendra qu'un mot de passe numérique.

7
répondu Md Johirul Islam 2017-12-15 07:16:07

même s'il a déjà été répondu, je vais ajouter quelques détails aux différences de mot de passe InputType les variations:

  1. android:inputType="textPassword": Correspond à TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_PASSWORD c'est-à-dire qu'il vous permet d'entrer une chaîne de caractères qui est prise comme mot de passe (caché et empêchant l'autocomplétion et les suggestions à moins d'être défini explicitement). Celui-ci est principalement utilisé quand nous voulons entrer des mots de passe.
  2. android:inputType="textVisiblePassword": Correspond à TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_VISIBLE_PASSWORD et est le même que le précédent mais le mot de passe est visible (utile si vous voulez l'utiliser pour permettre de voir le mot de passe par défaut car il empêche l'autocompletion et les suggestions à moins qu'elles ne soient définies explicitement - il est conseillé d'avoir aussi un moyen de cacher le mot de passe)
  3. android:inputType="numberPassword": Correspond à TYPE_CLASS_NUMBER | TYPE_NUMBER_VARIATION_PASSWORD même android:inputType="textPassword" mais vous ne pouvez entrer que des chiffres. Prenez en compte que si vous l'utilisez le mot de passe ne sera pas si fort, donc je ne recommande pas de l'utiliser lors du traitement de données sensibles à moins qu'il ne soit utilisé avec un autre type d'authentification de l'utilisateur.
  4. android:inputType="textWebPassword": Correspond à TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_WEB_PASSWORD et a le même comportement que l' android:inputType="textPassword" mais il est destiné à être utilisé sous une forme web, c'est-à-dire à l'intérieur d'une page de navigateur (tout contrôle de forme web qui prend l'entrée d'un utilisateur). Donc, ce ne doit pas être utilisé dans un EditText contrôle natif. Un exemple d'utilisation de ce serait de désactiver L'AutoSuggestion D'Android dans un WebView en l'enveloppant d'un WebView et à changer EditorInfo type d'entrée pour ajouter le drapeau InputType.TYPE_TEXT_VARIATION_WEB_PASSWORD dans le onCreateInputConnectionméthode.

comme exemple du dernier extrait du lien:

public class NoSuggestionsWebView extends WebView {
    ...

    @Override
    public InputConnection onCreateInputConnection(EditorInfo outAttrs)
    {
        InputConnection ic = super.onCreateInputConnection(outAttrs);

        outAttrs.inputType &= ~EditorInfo.TYPE_MASK_VARIATION; /* clear VARIATION type to be able to set new value */
        outAttrs.inputType |= InputType.TYPE_TEXT_VARIATION_WEB_PASSWORD; /* WEB_PASSWORD type will prevent form suggestions */

        return ic;
    }
}

j'espère que c'est clair maintenant les différences et principalement entre android:inputType="textPassword" et android:inputType="textWebPassword"

2
répondu fmaccaroni 2018-02-23 14:50:43