设置明文或密码输入:
- 设置输入明文:
mKey.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
- 设置输入密码:
mKey.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
设置密码输入模式不回显:
- 创建 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
}
}
}
- 设置:
mKey.setTransformationMethod(new AsteriskPasswordTransformationMethod());
- 总结:
最近遇到app被检查安全问题,在输入密码时要求不能有回显,于是经过一番查阅上面的方法完美解决问题。下面再给一个也是可以解决问题的设置
在Activity中设置:
Settings.System.putInt(getContentResolver(),Settings.System.TEXT_SHOW_PASSWORD, 0);
只是好像只能适配安卓6.0以下版本,在安卓6.0以上运行崩溃!