【问题标题】:Custom bullet in editText inputType passwordeditText inputType 密码中的自定义项目符号
【发布时间】:2015-09-21 13:43:36
【问题描述】:

我需要为 editText 的密码创建自定义项目符号,并在项目符号之间添加一些填充。

有没有办法做到这一点?

【问题讨论】:

    标签: android android-edittext android-inputtype


    【解决方案1】:

    要更改显示的字符,您可以调用方法setTransformationMethod (TransformationMethod method) 并将自定义PasswordTransformationMethod 传递给它。

    这可能类似于以下内容:

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

    然后这样设置:

    textView.setTransformationMethod(new AsteriskPasswordTransformationMethod());
    

    要更改填充等,您应该使用textScaleX,或者如果您处于 API 级别 21+,请在 XML 中使用 letterSpacing

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多