208 votes

Android: Comment basculer entre masquer et afficher le mot de passe

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.

178voto

Janusz Points 52607

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());

121voto

Qlimax Points 1965

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);
 

2voto

Hamcha Points 43

Avez-vous essayé avec setTransformationMethod? Il est hérité de TextView et veut un TransformationMethod en tant que paramètre.

Vous pouvez en savoir plus sur TransformationMethods ici .

Il a également quelques fonctionnalités intéressantes, comme le remplacement de personnage.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X