/ 显示明文--设置为可见的密码.
mPasswordET.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
// 显示密码密文.
mPasswordET.setTransformationMethod(AsteriskPasswordTransformationMethod.getInstance());
public class AsteriskPasswordTransformationMethod extends PasswordTransformationMethod {
private static AsteriskPasswordTransformationMethod sInstance;
public static AsteriskPasswordTransformationMethod getInstance() {
if (sInstance != null)
return sInstance;
sInstance = new AsteriskPasswordTransformationMethod();
return sInstance;
}
@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
}
}
}
默认密码是点,如果需要将密码字段更改为星号,就按照上面修改即可