Dies ist eine andere Methode als das Umschalten der Kennwortsichtbarkeit. Sampler ist hier
Pattern0 ist ein Typ, aber dieses Mal werde ich Pattern1 vorstellen. Ich verwende TextInputLayout aus Gründen der Übersichtlichkeit, aber Sie müssen nicht. Ich möchte anpassen, ohne mich auf Password Visibility Toggle verlassen zu müssen! Es ist für Menschen.
XML
activity_main.xml
<!--Abkürzung-->
<!-- Pattern 1 -->
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<!-- password -->
<android.support.design.widget.TextInputEditText
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="password"/>
</android.support.design.widget.TextInputLayout>
<!--Passwort ein- / ausblenden-->
<CheckBox
android:id="@+id/password_visibility"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:layout_marginTop="10dp"
android:text="Passwort anzeigen"/>
<!--Abkürzung-->
Activity
MainActivity.java
//Abkürzung
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextInputEditText password = (TextInputEditText)findViewById(R.id.password);
CheckBox passwordVisibilityCheckBox = (CheckBox) findViewById(R.id.password_visibility);
//Kontrollkästchen Kennwortumschaltung
passwordVisibilityCheckBox.setOnClickListener((View v) -> {
//Speichern Sie die Position des Passwort-Cursors
int cursorPos = password.getSelectionStart();
boolean checked = passwordVisibilityCheckBox.isChecked();
if (checked) {
//Passwortvisualisierung
password.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
//Cursorposition eingestellt
password.setSelection(cursorPos);
} else {
//Unsichtbarkeit des Passworts
password.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
password.setSelection(cursorPos);
}
});
}
}
Ja abgeschlossen!
Es gibt eine bessere Umsetzung! Ich warte auf deinen Kommentar! !!