EditText为密码输入设置为可见的实现

来源:互联网 发布:淘宝网欧时力 编辑:程序博客网 时间:2024/04/28 13:02

EditText为密码输入控件设置为可见的实现

iv_show为ImageView控件et_t为EditText控件isHidden默认为false
iv_show.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                // TODO Auto-generated method stub                setPassHint(et_t);            }        });

实现方法

public void setPassHint(EditText editText) {        if (!isHidden) {            iv_show.setImageResource(R.drawable.login_password_close);            // 设置EditText文本为可见的            editText.setTransformationMethod(HideReturnsTransformationMethod.getInstance());        } else {            iv_show.setImageResource(R.drawable.login_password_open);            // 设置EditText文本为隐藏的            editText.setTransformationMethod(PasswordTransformationMethod.getInstance());        }        isHidden = !isHidden;        editText.postInvalidate();        // 切换后将EditText光标置于末尾        CharSequence charSequence = editText.getText();        if (charSequence instanceof Spannable) {            Spannable spanText = (Spannable) charSequence;            Selection.setSelection(spanText, charSequence.length());        }    }

效果:
默认iv_show图片显示R.drawable.login_password_open,EditText 为密文输入;
点击iv_show图片后,该图片显示为R.drawable.login_password_close,EditText 为明文输入。

0 0
原创粉丝点击