Partager via


Commutateur Xamarin.Android

Le Switch widget (illustré ci-dessous) permet à un utilisateur de basculer entre deux états, tels que ON ou OFF. La Switch valeur par défaut est OFF. Le widget est illustré ci-dessous dans ses états ON et OFF :

Captures d’écran d’un widget Switch dans les états OFF et ON

Création d’un commutateur

Pour créer un commutateur, déclarez simplement un Switch élément en XML comme suit :

<Switch android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

Cela crée un commutateur de base, comme indiqué ci-dessous :

Capture d’écran de l’application de démonstration affichant un commutateur dans l’état OFF

Modification des valeurs par défaut

Le texte affiché par le contrôle pour les états ON et OFF et la valeur par défaut sont configurables. Par exemple, pour activer le commutateur par défaut et lire NO/YES au lieu de OFF/ON, nous pouvons définir les attributs et textOff les checkedtextOnattributs dans le code XML suivant.

<Switch android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:checked="true"
        android:textOn="YES"
        android:textOff="NO" />

Fourniture d’un titre

Le Switch widget prend également en charge l’inclusion d’une étiquette de texte en définissant l’attribut text comme suit :

<Switch android:text="Is Xamarin.Android great?"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:checked="true"
        android:textOn="YES"
        android:textOff="NO" />

Ce balisage produit la capture d’écran suivante au moment de l’exécution :

Capture d’écran de l’application de démonstration avec du texte précédant horizontalement le widget Switch

Lorsqu’une Switchvaleur change, elle déclenche un CheckedChange événement. Par exemple, dans le code suivant, nous captureons cet événement et présentons un widget avec un Toast message basé sur la isChecked valeur de Switch, qui est passée au gestionnaire d’événements dans le cadre de l’argument CompoundButton.CheckedChangeEventArg .

Switch s = FindViewById<Switch> (Resource.Id.monitored_switch);
           
s.CheckedChange += delegate(object sender, CompoundButton.CheckedChangeEventArgs e) {
    var toast = Toast.MakeText (this, "Your answer is " +
        (e.IsChecked ?  "correct" : "incorrect"), ToastLength.Short);
    toast.Show ();
};