我正在处理需要密码字段(即编辑文本)以使用星号 (*) 而不是点 (.) 来隐藏用户输入的任务。目前它显示为点。 如果可能的话,请告诉我使用 android 的 native 方法的方法。或者,如果有人已经这样做了,请发布代码来执行此操作。
提前致谢..
最佳答案
很晚才回答,我相信您不再关心了,但其他人可能会关心。
初始化 EditText
字段。
EditText UPL =(EditText) findViewById(R.id.UserPasswordToLogin) ;
UPL.setTransformationMethod(new AsteriskPasswordTransformationMethod());
然后创建一个新的 java 类,称为 AsteriskPasswordTransformationMethod.java
扩展 PasswordTransformationMethod
代码如下:
import android.text.method.PasswordTransformationMethod;
import android.view.View;
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
}
}
};
关于android - 如何更改密码字段以显示星号而不是点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6125352/