Android设置密码的明文与暗文

因为项目中用到了这块,所以记录一下!
先看下需要实现的效果:


实际.png

先看下布局排版,RelativeLayout里面放置一个ImageView、一个EditText, 一个CheckBox,用作显示的密码编辑一栏。
下面是xml的布局:

 

        

        
        
        

    

其中CheckBox@drawable/selector_password样式如下:



    
    

这里是2个图标,如下:


icon_pwd_hide.png
icon_pwd_show.png

接下来是具体的代码实现:

 cbPwdTips.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if (isChecked){
                    etAccountPwd.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
                }else {
                    etAccountPwd.setTransformationMethod(PasswordTransformationMethod.getInstance());
                }
                etAccountPwd.setSelection(etAccountPwd.getText().length());  
            }
        });

自己也是查看网上的设置的明暗文显示方式,也记录一下,

 // 方式一:
// 显示明文、暗文
// 选择状态 显示明文--设置为可见的密码
etAccountPwd.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
 //默认状态显示密码--设置文本 要一起写才能起作用 InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD
etAccountPwd.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
// 第二种方式:
// 明文
etAccountPwd.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
// 暗文
etAccountPwd.setTransformationMethod(PasswordTransformationMethod.getInstance());

以上就是实现的例子了。
参考文章:

  • EditText光标默认在最后面,点击EditText中间位置要随着点击位置移动光标
  • Android中EditText显示明文与密码的两种方式

你可能感兴趣的:(Android设置密码的明文与暗文)