【发布时间】:2015-09-21 13:43:36
【问题描述】:
我需要为 editText 的密码创建自定义项目符号,并在项目符号之间添加一些填充。
有没有办法做到这一点?
【问题讨论】:
标签: android android-edittext android-inputtype
我需要为 editText 的密码创建自定义项目符号,并在项目符号之间添加一些填充。
有没有办法做到这一点?
【问题讨论】:
标签: android android-edittext android-inputtype
要更改显示的字符,您可以调用方法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。
【讨论】: