EditText設定密碼輸入並不回顯
阿新 • • 發佈:2019-02-03
設定明文或密碼輸入:
- 設定輸入明文:
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以上執行崩潰!