释放双眼,带上耳机,听听看~!
今天在开发登录注册模块的时候,用EditText实现密码的输入,项目需要密码是可以选择可见或者默认的隐藏模式,很简单,但是第一次遇到就记录下来分享给大家。
布局文件
android:id="@+id/edit_pass"
android:textSize="15sp"
android:layout_gravity="center"
android:background="@null"
android:textCursorDrawable="@null"
android:textColorHint="#AAAAAA"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="5"
android:hint="请输入密码"
android:password="true">
下面就是设置java代码,需要注意的地方在注释上有标出 不在赘述
if(count%2==0){
//显示密码 可见
mEditPass.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
//设置光标在末尾
CharSequence charSequence = mEditPass.getText();
if (charSequence instanceof Spannable) {
Spannable spanText = (Spannable) charSequence;
Selection.setSelection(spanText, charSequence.length());
}
break;
}else {
//隐藏密码 不可见
mEditPass.setInputType(InputType.TYPE_CLASS_TEXT|InputType.TYPE_TEXT_VARIATION_PASSWORD);
//光标设置在末尾
CharSequence charSequence = mEditPass.getText();
if (charSequence instanceof Spannable) {
Spannable spanText = (Spannable) charSequence;
Selection.setSelection(spanText, charSequence.length());
}
break;
}
上段代码代码有个小技巧,大家看到了conut这个值 初始值为1 每次点击的时候count++ 这样当为偶数的时候是用户选择 密码不可见,当为奇数的时候为密码可见状态,