输入密码或金额的显示和隐藏

498 查看

APP中常常会存在账号登录或者账户余额问题,登录过程中密码是不可缺少的,账户余额有时候有隐藏的需求。密码默认都是隐藏的,但有时候有显示密码的需求,这时候就用的了密码的显示和隐藏。

下面看一下我的效果图:

这里面我加了一个简单的判断,当输入内容时候才显示“睁眼”和“闭眼”,默认是隐藏的。当输入框中内容情况后,恢复为隐藏密码。

而核心代码显示和隐藏密码也就两行代码:

  • 隐藏密码

    mPassword.setInputType(InputType.TYPE_CLASS_NUMBER|InputType.TYPE_NUMBER_VARIATION_PASSWORD);//隐藏密码,密码类型为纯数字
    mPassword.setSelection(mPassword.getText().toString().trim().length());//设置光标位置
  • 显示密码

    mPassword.setInputType(InputType.TYPE_CLASS_NUMBER|InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);//显示密码
    mPassword.setSelection(mPassword.getText().toString().trim().length());//设置光标位置

有时候隐藏密码的时候需要显示为*号,这里也简单写一下实现代码

  • 隐藏密码

    mPassword.setTransformationMethod(new WordReplaceUtil());//设置显示为*号
  • 显示密码

    mPassword.setTransformationMethod(HideReturnsTransformationMethod.getInstance());//显示密码/金额

Demo下载

显示为*号的Demo下载

这里效果图显示效果不好,出现光标重影问题,非代码问题。同名文章参考:CSDN:输入密码或金额的显示和隐藏