登录界面显示密码的实现

      常见的app登录页面, 会有选项 “显示密码”, 当点击时显示或隐藏 密码输入框中的内容,这个功能如何实现呢,用下面的方式很简单的实现:

   1.  HideReturnsTransformationMethod 和  PasswordTransformationMethod

      ((CheckBox) findViewById(R.id.check)).setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if(isChecked){
                    editText.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
                }else {
                    editText.setTransformationMethod(PasswordTransformationMethod.getInstance());
                }
            }
        });

        注:其中 R.id.check 是 “显示密码” 的Checkbox , editText 是密码输入框 EditText

2.  InputType.TYPE_TEXT_VARITION_VISIBLE_PASSWORD 和 InputType.TYPE_CLASS_TEXT |       InputType.TYPE_TEXT_VARIATION_PASSWORD

        ((CheckBox) findViewById(R.id.check2)).setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if(isChecked){
                    editText.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
                }else {
                    editText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
                }
            }
        });

      注: 描述 同 1

其中发现第一个方法较第二个方法更好,因为第二个方法会发现 editText 的内容会挤在一起。丑丑的。。

看第三张图就知道了。




所以建议用第一种方式 == , 下班回家了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值