Est-il possible de changer le texte du mot de passe de point (.) À astérisque (*).
Le mot de passe est entré dans edittext.
<EditText
Android:id="@+id/passWord1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:gravity="center"
Android:inputType="number"
Android:password="true"/>
Vous avez la réponse avec l'aide du lien posté par Ram Kiran
text.setTransformationMethod(new AsteriskPasswordTransformationMethod());
public class AsteriskPasswordTransformationMethod extends PasswordTransformationMethod {
@Override
public CharSequence getTransformation(CharSequence source, View view) {
return new PasswordCharSequence(source);
}
private class PasswordCharSequence implements CharSequence {
private CharSequence mSource;
public PasswordCharSequence(CharSequence source) {
mSource = source; // Store char sequence
}
public char charAt(int index) {
return '*'; // This is the important part
}
public int length() {
return mSource.length(); // Return default
}
public CharSequence subSequence(int start, int end) {
return mSource.subSequence(start, end); // Return default
}
}
};
Insérer edittext dans votre fichier xml,
<EditText
Android:id="@+id/passWordEditText"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:gravity="center"
Android:inputType="textPassword"/>
et votre fichier de classe continue et obtient findViewById d'edittext et implémente pour cela,
EditText edittext = (EditText)findViewById(R.id.passWordEditText);
edittext.setTransformationMethod(new AsteriskPasswordTransformationMethod());
et cette classe implémente pour cela,
public class AsteriskPasswordTransformationMethod extends PasswordTransformationMethod {
@Override
public CharSequence getTransformation(CharSequence source, View view) {
return new PasswordCharSequence(source);
}
private class PasswordCharSequence implements CharSequence {
private CharSequence mSource;
public PasswordCharSequence(CharSequence source) {
mSource = source; // Store char sequence
}
public char charAt(int index) {
return '*'; // This is the important part
}
public int length() {
return mSource.length(); // Return default
}
public CharSequence subSequence(int start, int end) {
return mSource.subSequence(start, end); // Return default
}
}
};
<EditText
Android:id="@+id/passWord1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:gravity="center"
Android:inputType="textPassword"//here is the change. check it once in your xml
Android:password="true"/>
W Eclipse pojawią się podpowiedzi po kliknięciuCtrl+Spacekiedy przesuniesz kursor na Android:inputType
. Następnie możesz zobaczyć listę opcji. tam możesz wybrać textPassword
Jeśli chcesz zobaczyć *
zamiast .
, zaznacz to Android: Asterisk Password Field
EditText.setTransformationMethod(new PasswordTransformationMethod());
Visitez cette question de stackoverflow, il répondra à votre question
Comment modifier le champ de mot de passe pour afficher des astérisques au lieu de points
Pour Android: inputType, il existe un type de mot de passe.
Vérifiez le lien ci-dessous: -
Si vous voulez voir * à la place de. puis vérifiez ce champ Android: Mot de passe astérisque
Essaye ça
Android:inputType="textPassword"