Android EditText 密码内容显示隐藏

2022-07-29 11:09:32
/ 显示明文--设置为可见的密码.
                    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
        }
    }
}

默认密码是点,如果需要将密码字段更改为星号,就按照上面修改即可

  • 作者:小蜗牛在漫步
  • 原文链接:https://blog.csdn.net/chenli_001/article/details/125067801
    更新时间:2022-07-29 11:09:32