Il s'agit d'une méthode différente de la bascule de visibilité du mot de passe. Sampler est ici
Pattern0 est un gars, mais cette fois je vais vous présenter Pattern1. J'utilise TextInputLayout pour plus de clarté, mais il est normal de ne pas l'utiliser Je souhaite personnaliser sans compter sur le basculement de la visibilité du mot de passe! C'est pour les gens.
XML
activity_main.xml
<!--Abréviation-->
<!-- 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>
<!--Afficher / masquer le mot de passe-->
<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="Montrer le mot de passe"/>
<!--Abréviation-->
Activity
MainActivity.java
//Abréviation
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);
//Case à cocher Changement de mot de passe
passwordVisibilityCheckBox.setOnClickListener((View v) -> {
//Enregistrer la position du curseur de mot de passe
int cursorPos = password.getSelectionStart();
boolean checked = passwordVisibilityCheckBox.isChecked();
if (checked) {
//Visualisation du mot de passe
password.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
//Jeu de position du curseur
password.setSelection(cursorPos);
} else {
//Invisibilité du mot de passe
password.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
password.setSelection(cursorPos);
}
});
}
}
Oui terminé!
Il y a une meilleure implémentation! J'attends ton commentaire! !!
Recommended Posts