有时候在注册或登陆界面,产品经理会要求增加一个点击显示密码的功能的。
可以使用Edittext的setInputType(InputType type)方法来实现。
示例
EditText etPsw = (EditText)findViewById(R.id.xxxxx);
//点击切换的图片
ImageView ivEye = (ImageView)findViewById(R.id.xxxxx);
ivEye.setOnClickListener(new OnClickListener{
@Override
public void onClick(View view){
int inputType = etPsw.getInputType();
if (inputType == (InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD)) {
//如果是隐藏状态就显示出来,图片也跟随状态变化
ivEye.setSelected(true);
etPsw.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
} else {
//如果是显示状态就隐藏,图片也跟随状态变化
ivEye.setSelected(false);
etPsw.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
}
}
})