ToggleButton

En esta sección, creará un botón que se usará específicamente para alternar entre dos estados mediante el widget ToggleButton. Este widget es una excelente alternativa a los botones de radio si tiene dos estados simples que son mutuamente excluyentes ("activado" y "desactivado", por ejemplo). Android 4.0 (nivel de API 14) introdujo una alternativa al botón de alternancia conocido como Switch.

Se puede ver un ejemplo de ToggleButton en el par izquierdo de imágenes, mientras que el par derecho de imágenes presenta un ejemplo de switch:

Examples of Switches and ToggleButtons in both on and off states

El control que usa una aplicación es una cuestión de estilo. Ambos widgets son funcionalmente equivalentes.

Abra el archivo Resources/layout/Main.axml y agregue el elemento ToggleButton (dentro de LinearLayout):

Para hacer algo cuando se cambia el estado, agregue el código siguiente al final del Método OnCreate():

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

Esto captura el elemento ToggleButton del diseño y controla el evento Click, que define la acción que se va a realizar cuando se hace clic en el botón. En este ejemplo, el método comprueba el nuevo estado del botón y, a continuación, muestra un mensaje Toast que indica el estado actual.

Observe que el elemento ToggleButton controla su propio cambio de estado entre activado y desactivado, por lo que solo se pregunta cuál es.

Ejecute la aplicación.

Sugerencia

Si necesita cambiar el estado usted mismo (por ejemplo, al cargar un elemento CheckBoxPreference guardado), use el configurador de propiedad Checked o Método Toggle().