有时候在注册或登陆界面,产品经理会要求增加一个点击显示密码的功能的。
可以使用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); } } })