您的位置:首页 > 其它

登录界面显示密码的实现

2015-01-27 20:06 211 查看
      常见的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 的内容会挤在一起。丑丑的。。

看第三张图就知道了。







所以建议用第一种方式 == , 下班回家了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐