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

来源:互联网 发布:网络主播loli王春雨 编辑:程序博客网 时间:2024/05/22 05:05

昨天写完输入密码或金额的显示和隐藏,发现金额的显示目前一般用星(*)号代替。于是就想看看用星号的方法。由于没写过,从网上看了一下。切换星号主要就是要写一个类。

下面看一下效果图
这里写图片描述
可以看到效果图与上一篇文章相似,只是原点改成了*号。

问题的核心就是怎么改星号的。还是两行代码的问题。

  • 隐藏密码/金额
mPassword.setTransformationMethod(new WordReplaceUtil());//设置显示为*号
  • 显示密码/金额
mPassword.setTransformationMethod(HideReturnsTransformationMethod.getInstance());//显示密码/金额
  • 显示为星号的代码如下(这里声明一下,这个方法是在网上看的)
public class WordReplaceUtil extends ReplacementTransformationMethod {    String strWord = null;    @Override    protected char[] getOriginal() {        //循环ASCII值 字符串形式累加到String        for (char i = 0; i < 256; i++) {            strWord += String.valueOf(i);        }        //strWord转换为字符形式的数组        char[] charOriginal = strWord.toCharArray();        return charOriginal;    }    @Override    protected char[] getReplacement() {        char[] charReplacement = new char[255];        //输入的字符在ASCII范围内,将其转换为*        for (int i = 0; i < 255; i++) {            charReplacement[i] = '*';        }        return charReplacement;    }}

遇到问题:

  • 不过这里有个问题,就是圆点的时候,当我清空内容后,将输入内容默认设置为隐藏。改为星号后,发现如果再这样设置,在显示的时候就无法清空。如果只用在显示金额等不用改变的地方还是没问题的。这里就把默认设置为隐藏给去掉了。如果有哪位大神解决了,还请告知一下解决方法。共同学习~~~:)

Demo下载

0 0
原创粉丝点击