首先在控件初始化的时候,设置EditText的属性为不可见
//普通文本类型|密码不可见
etPwd.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
点击按钮响应时,先判断输入框的InputType,据此设置密码是否可见
if (etPwd.getInputType() == (InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD)) {
etPwd.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
} else {
etPwd.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
}
但是上述方式会覆盖掉digits属性,因此,最好使用以下的方式显示和隐藏密码:
//显示密码明文
etPwd.setTransformationMethod(PasswordTransformationMethod.getInstance());
//隐藏密码
etPwd.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
网友评论