Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El widget Switch (que se muestra a continuación) permite a los usuarios alternar entre dos estados, como ACTIVADO o DESACTIVADO. El valor predeterminado de Switch es DESACTIVADO. El widget se muestra a continuación en sus estados ACTIVADO y DESACTIVADO:
Creación de modificadores
Para crear un modificador, no tiene más que declarar un elemento Switch en XML de la siguiente manera:
<Switch android:layout_width="wrap_content"
android:layout_height="wrap_content" />
Así se crea un modificador básico como se muestra a continuación:
Cambio de los valores predeterminados
Tanto el texto que muestra el control para los estados ACTIVADO y DESACTIVADO como el valor predeterminado son configurables. Por ejemplo, para que el valor predeterminado de Switch sea ACTIVADO y que aparezcan NO/SÍ, en lugar de ACTIVADO/DESACTIVADO, podemos establecer los atributos checked, textOny textOff en el siguiente XML.
<Switch android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:textOn="YES"
android:textOff="NO" />
Proporcionar un icono
El widget Switch también admite la inclusión de una etiqueta de texto estableciendo el atributo text de la siguiente manera:
<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" />
Este marcado genera la siguiente captura de pantalla en tiempo de ejecución:
Cuando cambia un valor de Switch, genera un evento CheckedChange.
Por ejemplo, en el siguiente código capturamos este evento y presentamos un widget Toast con un mensaje basado en el valor isChecked de Switch, que se pasa al controlador de eventos como parte del argumento de 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 ();
};


