Freigeben über


ToggleButton

In diesem Abschnitt erstellen Sie mithilfe des Widgets eine Schaltfläche, die ToggleButton speziell zum Umschalten zwischen zwei Zuständen verwendet wird. Dieses Widget ist eine hervorragende Alternative zu Optionsfeldern, wenn Sie zwei einfache Zustände haben, die sich gegenseitig ausschließen ("ein" und "aus", z. B.). Android 4.0 (API-Ebene 14) hat eine Alternative zur Umschalttaste eingeführt, die als bezeichnet Switchwird.

Ein Beispiel für einen ToggleButton ist im linken Bildpaar zu sehen, während das rechte Bildpaar ein Beispiel für einen Switch darstellt:

Beispiele für Switches und Umschalttasten im Ein- und Aus-Status

Welches Steuerelement eine Anwendung verwendet, ist eine Frage des Stils. Beide Widgets sind funktionell gleichwertig.

Öffnen Sie die Datei Resources/layout/Main.axml , und fügen Sie das ToggleButton -Element hinzu (innerhalb des LinearLayout):

Um etwas zu tun, wenn der Zustand geändert wird, fügen Sie den folgenden Code am Ende derOnCreate()-Methode:

ToggleButton togglebutton = FindViewById<ToggleButton>(Resource.Id.togglebutton);

togglebutton.Click += (o, e) => {
    // Perform action on clicks
    if (togglebutton.Checked)
        Toast.MakeText(this, "Checked", ToastLength.Short).Show ();
    else
        Toast.MakeText(this, "Not checked", ToastLength.Short).Show ();
};

Dadurch wird das ToggleButton Element aus dem Layout erfasst und das Click-Ereignis behandelt, das die Aktion definiert, die beim Klicken auf die Schaltfläche ausgeführt werden soll. In diesem Beispiel überprüft die -Methode den neuen Status der Schaltfläche und zeigt dann eine Toast Meldung an, die den aktuellen Zustand angibt.

Beachten Sie, dass die ToggleButton eigene Zustandsänderung zwischen aktiviert und deaktiviert verarbeitet wird, sodass Sie einfach fragen, um welche Es sich handelt.

Führen Sie die Anwendung aus.

Tipp

Wenn Sie den Zustand selbst ändern müssen (z. B. beim Laden eines gespeicherten CheckBoxPreference), verwenden Sie dieChecked Eigenschaftensetter oderToggle() -Methode.