方式一:保持digit规则不变
public class EditTextVisibleUtil {
/**
* 显示或隐藏输入内容,并且不破坏digit规则
* @param visible
* @param editText
*/
public static void TextVisible(boolean visible, EditText editText){
if(visible){
//用这个来控制密码可见:
editText.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
}else{
//控制密码不可见:
editText.setTransformationMethod(PasswordTransformationMethod.getInstance());
}
}
}
方式二:保持digit规则不变,但是字体变宽了
Passwd.setInputType((ifVisible ? InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD : InputType.TYPE_TEXT_VARIATION_PASSWORD) | InputType.TYPE_CLASS_TEXT);
Passwd.setKeyListener(DigitsKeyListener.getInstance(getString(R.string.number_letter)));
方式三:digit 规则会被改变,不可采用
Passwd.setInputType((ifVisible ? InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD : InputType.TYPE_TEXT_VARIATION_PASSWORD) | InputType.TYPE_CLASS_TEXT);