web-dev-qa-db-fra.com

Remplacez le caractère de masque de mot de passe EditText par un astérisque (*)

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"/>
35
Sunny

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
    }
}
};
7
Sunny

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
        }
    }
};
53
Najib Puthawala
<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

19
Ram kiran
EditText.setTransformationMethod(new PasswordTransformationMethod());
0
Suresh

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

0
Prateek

Pour Android: inputType, il existe un type de mot de passe.

0
TieDad

Vérifiez le lien ci-dessous: - 

Si vous voulez voir * à la place de. puis vérifiez ce champ Android: Mot de passe astérisque

http://codemanteau.com/post/code_11

0
Kunal Dharaiya

Essaye ça 

Android:inputType="textPassword"       
0
NagarjunaReddy