Android:EditText密碼的顯示和隱藏
阿新 • • 發佈:2021-01-26
1. 結果
2.具體操作如圖
程式碼是圖中指向的一個小眼睛的點選事件
2.1isChanged 初始化
boolean isChanged = false;
2.2內部點選事件
invisible_default_icon
這個是預設的隱藏資原始檔,就是眼睛閉起來的樣式,invisible_highlight_icon
這個是眼睛睜開的樣式
show_hidden.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (v == show_hidden) { if (isChanged) { show_hidden.setImageDrawable(getResources().getDrawable(R.mipmap.invisible_default_icon)); // 隱藏密碼 et_password.setTransformationMethod(PasswordTransformationMethod.getInstance()); } else { show_hidden.setImageDrawable(getResources().getDrawable(R.mipmap.invisible_highlight_icon)); //顯示密碼 et_password.setTransformationMethod(HideReturnsTransformationMethod.getInstance()); } isChanged = !isChanged; } } });
2.3佈局檔案
invisible_default_icon
,password_icon
是我自己的圖片,你需要自己替換成自己的
android:inputType="textPassword"
這一行是預設顯示小圓點
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="30dp" android:layout_marginTop="30dp" android:layout_marginRight="30dp" android:orientation="horizontal"> <ImageView android:layout_width="40dp" android:layout_height="40dp" android:padding="7dp" android:src="@mipmap/password_icon"></ImageView> <EditText android:id="@+id/et_password" android:inputType="textPassword" android:layout_width="0dp" android:layout_height="40dp" android:layout_marginLeft="10dp" android:layout_weight="1"></EditText> <ImageView android:id="@+id/show_hidden" android:layout_width="40dp" android:layout_height="40dp" android:src="@mipmap/invisible_default_icon"></ImageView> </LinearLayout>