前言
現在的應用中,人性化的設定越來越多,比如在輸入密碼的介面可以選擇是否顯示密碼,這樣當使用者在不安全的環境中還可以使用密碼不可見的方式填寫密碼(以******表示),當使用者確認所處環境是安全的,並且有需求看自己輸入的密碼的時候,便可以實時檢視自己輸入的密碼是不是自己想要的。公司最近的新專案便加入了這個需求,自己網上搜了下,簡單的實現了該需求。
效果圖:
![這裡寫圖片描述](https://i.iter01.com/images/13ab9d03b9f95bd2a3ae767a69af81877a5cb6a123a1cd815fbf919ddf665e0e.gif)
程式碼實現
首先,右側的小眼睛是我用的是CheckBox,然後給CheckBox設定了圖片,當處於選中裝填的時候,眼睛是綠色的,否則是灰色的,然後在activity裡面設定該CheckBox的監聽事件如下:
/**
* 判斷當前是否需要顯示密碼
*/
private void isPasswordShowListener() {
registerShowPasswordCb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
int passwordLength = registerPasswordEt.getText().length();
registerPasswordEt.setInputType(isChecked ?
(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD) :
(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD));
registerPasswordEt.setSelection(passwordLength);
}
});
}
複製程式碼
說明:
- registerPasswordEt是前面密碼輸入的EditText
- registerShowPasswordCb就是那個小眼睛的CheckBox,
用的時候直接改下就可以直接用了。特此記錄。
你可以通過以下方式關注我: