引言:
当我们在进行项目开发的过程中难免会进行登陆及注册功能的实现,在这过程中难免会有密码明文密文切换的需求,那么现在我就给大家分享一下我自己封装的一个方法,非常简单,如果项目中有这样的需求直接套用就可以了。下面就直接粘帖代码了。
/**
* 切换明文密码
* @param editText 需要切换显示的EditText数据
* @param showImageView 切换显示数据的图片
*isHidden 就是一个明文密文切换的开关
*/
protected boolean isHidden =true;
protected void showPwd(EditText editText,ImageView showImageView){
if(isHidden){
//editText可见
editText.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
/**图标改变*/
showImageView.setImageResource(R.drawable.icon_show_pwd);
} else {
//editText不可见
editText.setTransformationMethod(PasswordTransformationMethod.getInstance());
/**图标改变*/
showImageView.setImageResource(R.drawable.icon_hied_pwd);
}
isHidden =!isHidden;
editText.postInvalidate();
//切换后将EditText光标置于末尾
CharSequence charSequence = editText.getText();
if (charSequence instanceof Spannable) {
Spannable spanText = (Spannable) charSequence;
Selection.setSelection(spanText, charSequence.length());
}
}
接下来就是直接根据你自己的需求,哪里用到就在哪里用这个方法就好了。