很多登陆dialog都有显示密码的选项,效果如图:
不废话,看代码。
这是定义CheckBox的xml:
<CheckBox
android:id="@+id/sec_dialog_login_not_firstcheckBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dip"
android:layout_marginLeft="10dip"
android:layout_marginTop="10dip"
android:button="@drawable/sec_selector_checkbox"
android:text="显示密码" />
下面是代码片段:
checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked) {
// 显示为普通文本
pwdEdit.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
// 使光标始终在最后位置
Editable etable = pwdEdit.getText();
Selection.setSelection(etable, etable.length());
} else {
// 显示为密码
pwdEdit.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
// 使光标始终在最后位置
Editable etable = pwdEdit.getText();
Selection.setSelection(etable, etable.length());
}
}
});