ToggleButton

Nesta seção, você criará um botão usado especificamente para alternar entre dois estados, usando o ToggleButton widget . Esse widget é uma excelente alternativa aos botões de opção se você tiver dois estados simples mutuamente exclusivos ("ativado" e "desativado", por exemplo). O Android 4.0 (nível de API 14) introduziu uma alternativa ao botão de alternância conhecido como Switch.

Um exemplo de um ToggleButton pode ser visto no par de imagens à esquerda, enquanto o par de imagens à direita apresenta um exemplo de um Switch:

Exemplos de Switches e ToggleButtons nos estados ativado e desativado

O controle que um aplicativo usa é uma questão de estilo. Ambos os widgets são funcionalmente equivalentes.

Abra o arquivo Resources/layout/Main.axml e adicione o ToggleButton elemento (dentro do LinearLayout):

Para fazer algo quando o estado for alterado, adicione o código a seguir ao final doOnCreate() Método:

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

Isso captura o ToggleButton elemento do layout e manipula o evento Click, que define a ação a ser executada quando o botão é clicado. Neste exemplo, o método verifica o novo estado do botão e mostra uma Toast mensagem que indica o estado atual.

Observe que o ToggleButton manipula sua própria alteração de estado entre marcada e desmarcada, portanto, basta perguntar qual é.

Execute o aplicativo.

Dica

Se você precisar alterar o estado por conta própria (como ao carregar um salvo CheckBoxPreference), use oChecked setter de propriedade ouMétodo Toggle().