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:
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:
Ä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 checked
Attribute , textOn
und 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:
Wenn sich der Wert eines Switch
Werts ä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 ();
};