Compartilhar via


Xamarin.Android Switch

O Switch widget (mostrado abaixo) permite que um usuário alterne entre dois estados, como ON ou OFF. O Switch valor padrão é OFF. O widget é mostrado abaixo em seus estados ON e OFF:

Capturas de tela de um widget Switch nos estados OFF e ON

Criando um switch

Para criar uma opção, basta declarar um Switch elemento em XML da seguinte maneira:

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

Isso cria uma opção básica, conforme mostrado abaixo:

Captura de tela do aplicativo de demonstração exibindo um Switch no estado OFF

Alterando valores padrão

O texto que o controle exibe para os estados ON e OFF e o valor padrão são configuráveis. Por exemplo, para tornar o Switch padrão para ON e ler NO/YES em vez de OFF/ON, podemos definir os checkedatributos , textOne textOff no XML a seguir.

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

Fornecendo um título

O Switch widget também suporta a inclusão de um rótulo de texto, definindo o text atributo da seguinte maneira:

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

Essa marcação produz a seguinte captura de tela em tempo de execução:

Captura de tela do aplicativo de demonstração com texto na horizontal precedendo o widget Switch

Quando um valor de um Switché muda, ele gera um CheckedChange evento. Por exemplo, no código a seguir, capturamos esse evento e apresentamos um Toast widget com uma mensagem baseada no isChecked valor de , que é passada para o manipulador de Switcheventos como parte do CompoundButton.CheckedChangeEventArg argumento.

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