Existe-t-il un moyen astucieux de laisser l'utilisateur basculer entre masquer et afficher le mot de passe dans un EditText Android? Un certain nombre d'applications sur PC permettent à l'utilisateur de le faire.
Réponses
Trop de publicités?Vous pouvez modifier dynamiquement les attributs d'un TextView. Si vous réglez le XML Atrribute android:password
à true, le point de vue afficher les points si vous affectez la valeur false, le texte est affiché.
Avec la méthode setTransformationMethod vous devriez être en mesure de modifier ces attributs de code. (Disclaimer: je n'ai pas testé si la méthode fonctionne toujours après le point de vue est affiché. Si vous rencontrez des problèmes avec ce laissez-moi un commentaire pour me faire connaître.)
La totalité de l'échantillon de code serait
yourTextView.setTransformationMethod(new PasswordTransformationMethod());
pour masquer le mot de passe. Pour afficher le mot de passe vous pouvez définir l'une des méthodes de transformation ou de mettre en œuvre un vide TransformationMethod qui ne fait rien avec la saisie de texte.
yourTextView.setTransformationMethod(new DoNothingTransformation());
Pour afficher les points au lieu du mot de passe, définissez PasswordTransformationMethod:
yourEditText.setTransformationMethod(new PasswordTransformationMethod());
bien sûr, vous pouvez définir cela par défaut dans votre élément edittext dans la mise en page XML avec
android:password
Pour afficher à nouveau le mot de passe lisible, il suffit de passer null comme méthode de transformation:
yourEditText.setTransformationMethod(null);