Android显示和隐藏密码

首先在控件初始化的时候,设置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());

你可能感兴趣的:(Android显示和隐藏密码)