Xamarin.Android Switch

Mit dem Switch Widget (siehe unten) kann ein Benutzer zwischen zwei Zuständen umschalten, z. B. EIN oder AUS. Der Switch Standardwert ist OFF. Das Widget wird im Folgenden sowohl im ON- als auch im OFF-Status angezeigt:

Screenshots eines Switch-Widgets in den Status

Erstellen eines Schalters

Um einen Switch zu erstellen, deklarieren Sie einfach ein Switch Element in XML wie folgt:

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

Dadurch wird ein einfacher Switch erstellt, wie unten gezeigt:

Screenshot der Demo-App, in der ein Schalter im OFF-Zustand angezeigt wird

Ändern von Standardwerten

Sowohl der Text, den das Steuerelement für die Status ON und OFF anzeigt, als auch der Standardwert sind konfigurierbar. Wenn Sie beispielsweise die Standardeinstellung "Wechseln" auf EIN festlegen und NEIN/JA anstelle von OFF/ON lesen möchten, können Sie die checkedAttribute , textOnund textOff im folgenden XML-Code festlegen.

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

Bereitstellen eines Titels

Das Switch Widget unterstützt auch das Einschließen einer Textbezeichnung, indem das text Attribut wie folgt festgelegt wird:

<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" />

Dieses Markup erzeugt den folgenden Screenshot zur Laufzeit:

Screenshot der Demo-App mit Text horizontal vor dem Switch-Widget

Wenn sich der Wert eines SwitchWerts ändert, löst er ein Ereignis aus CheckedChange . Im folgenden Code erfassen wir beispielsweise dieses Ereignis und präsentieren ein Toast Widget mit einer Nachricht basierend auf dem isChecked Wert von Switch, die als Teil des CompoundButton.CheckedChangeEventArg Arguments an den Ereignishandler übergeben wird.

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 ();
};