前言
现在的应用中,人性化的设置越来越多,比如在输入密码的界面可以选择是否显示密码,这样当用户在不安全的环境中还可以使用密码不可见的方式填写密码(以**表示),当用户确认所处环境是安全的,并且有需求看自己输入的密码的时候,便可以实时查看自己输入的密码是不是自己想要的。
公司最近的新项目便加入了这个需求,自己网上搜了下,简单的实现了该需求。
效果图:
代码实现
首先,右侧的小眼睛是我用的是CheckBox,然后给CheckBox设置了图片,当处于选中装填的时候,眼睛是绿色的,否则是灰色的,然后在activity里面设置该CheckBox的监听事件如下:
//判断当前是否需要显示密码
private void isPasswordShowListener() {
registerShowPasswordCb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
int passwordLength = registerPasswordEt.getText().length();
registerPasswordEt.setInputType(isChecked ?
(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD) :
(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD));
registerPasswordEt.setSelection(passwordLength);
}
});
}
说明:
1. registerPasswordEt是前面密码输入的EditText
2. registerShowPasswordCb就是那个小眼睛的CheckBox,
用的时候直接改下就可以直接用了。特此记录。