ToggleButtonToggleButton

В этом разделе вы создадите специфичный для переключения между двумя состояниями, с помощью кнопки ToggleButton мини-приложения.In this section, you'll create a button used specifically for toggling between two states, using the ToggleButton widget. Это мини-приложение – отличная альтернатива для переключателей, у вас есть два простых состояния, которые являются взаимоисключающими («on» и «отключено», например).This widget is an excellent alternative to radio buttons if you have two simple states that are mutually exclusive ("on" and "off", for example). Android 4.0 (уровень API 14) появилась альтернатива кнопки-переключателя, известный как Switch .Android 4.0 (API level 14) introduced an alternative to the toggle button known as a Switch.

Пример ToggleButton можно увидеть в паре «слева» образов, хотя пары правом образов приводится пример коммутатора:An example of a ToggleButton can be seen in the left hand pair of images, while the right hand pair of images presents an example of a Switch:

Примеры коммутаторов и ToggleButtons как включение и отключение состояния

Какой элемент управления, приложение использует зависит от стиля.Which control an application uses is a matter of style. Оба мини-приложения функционально эквивалентны.Both widgets are functionally equivalent.

Откройте Resources/layout/Main.axml файл и добавьте ToggleButton элемент (внутри LinearLayout ):Open the Resources/layout/Main.axml file and add the ToggleButton element (inside the LinearLayout):

Чтобы сделать что-то, при изменении состояния, добавьте следующий код в конец OnCreate()To do something when the state is changed, add the following code to the end of the OnCreate() метод:method:

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

Здесь фиксируется ToggleButton элемента из макета и обрабатывает событие щелчка, который определяет действие, выполняемое при нажатии кнопки.This captures the ToggleButton element from the layout, and handles the Click event, which defines the action to perform when the button is clicked. В этом примере метод проверяет новое состояние кнопки, а затем отображает Toast сообщение, которое указывает текущее состояние.In this example, the method checks the new state of the button, then shows a Toast message that indicates the current state.

Обратите внимание, что ToggleButton собственное состояние переключения checked и unchecked, так что это просто попросите дескрипторов.Notice that the ToggleButton handles its own state change between checked and unchecked, so you just ask which it is.

Запустите приложение.Run the application.

Совет. Если необходимо изменить состояние самостоятельно (например, при загрузке сохраненного CheckBoxPreference ), используйте CheckedTip: If you need to change the state yourself (such as when loading a saved CheckBoxPreference), use the Checked метод задания свойства или Toggle()property setter or Toggle() метод.method.