Создаем переключатель ToggleButton
Главная » Создаем переключатель ToggleButton

В этом уроке мы научимся работать с одним из базовых элементов интерфейса Android приложения - переключателем ToggleButton. Этот переключатель используется очень часто, мы можем видеть его в большинстве современных программ, в настройках наших аппаратов и т.д. и т.п. Давайте разберем, как же работает этот самый переключатель и заставим его поработать на нас.

Переключатель ToggleButton на самом деле простой как дважды два. По сути это кнопка, которая может находиться всего в двух состояниях: включенной и выключенной. По умолчания, для включенного состояния используется текст кнопки "On", а для выключенной - "Off". Эти названия можно менять, задавая в коде кнопки команды:

android:textOn=""
android:textOff=""

Если мы хотим задать не стандартные надписи для состояний кнопки в коде java класса, то там для этого нужно использовать команды setTextOn и setTextOff

Переключатель может быть либо включен, либо выключен. По умолчанию, при создании переключателя он находится в выключенном состоянии. Если для каких то задач вам нужно, чтобы состояние по умолчанию было "включено", то это можно задать в коде кнопки строкой:

android:checked=""

Пишем с скобках значение true и получаем переключатель в включенном состоянии по умолчанию. 

Перейдем от теории к практике. Создадим приложение с один переключателем посреди экрана, при смене состояния которого мы будем видеть на дисплее всплывающий текст, в котором будет оглашаться состояние переключателя.

Создаем новый проект, выбираем Blank Activity, все наименования оставьте по стандартными (если чувствуете себя уверенно и не запутаетесь в нужных файлах, то можете присвоить свои названия). Кто желает подробно изучить механику возникновения всплывающего Toast сообщения, вот ссылка на урок с этой темы.

Открываем файл activity_main.xml и создаем там наш переключатель:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical" android:layout_width="match_parent"
 android:layout_height="match_parent">
 <ToggleButton
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:id="@+id/tb"
 android:onClick="Click"
 android:layout_gravity="center"/>
</LinearLayout>

Приложение имеет такой вид:

Вид приложения

В созданном переключателе я оставил стандартными и надписи и выключенное состояние. Как видите, мы задали переключатели метод нажатия "Click" в стоке android:onClick. Нужно добавить этот метод в java класс. Для этого ставим курсор на слово "Click", жмем Alt+Enter и выбираем строку создания метода Create 'Click(View)'in'MainActivity':

метод нажатия

Теперь переходим к работе в файле MainActivity.java. Здесь мы в созданном выше методе обработки нажатия "Click" переключателя реализуем то, о чем было сказано в начале - при смене состояния кнопки будет появляться всплывающее сообщение с текстом. Мы реализуем это в методе "Click"с помощью операторов if и else. Полный код файла MainActivity.java:

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import android.widget.ToggleButton;

public class MainActivity extends Activity {

 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 }

 public void Click(View view) {
 
 //Объявляем логическую переменную, которая отображает состояние кнопки (вкл/выкл):
 boolean on = ((ToggleButton) view).isChecked();
 //Задаем всплывающее сообщение на случай, если переключатель включен:
 if (on) {
 Toast.makeText(this, "Кнопка включена", Toast.LENGTH_SHORT).show();
 }
 //На случай - если выключен
 else {
 Toast.makeText(this, "Кнопка выключена", Toast.LENGTH_SHORT).show();
 }
 }
}

Все готово, запускаем приложение и смотрим на результат. И вправду, все работает как и было задумано:

Вид работающего приложения

Категория: Уроки программирования | Просмотров: 904 | Добавил: Oleg | Теги: ToggleButton, работа с кнопками, переключатель | Рейтинг: 0.0/0
Всего комментариев: 0
avatar