Главная » Создаем переключатель 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();
}
}
}
Все готово, запускаем приложение и смотрим на результат. И вправду, все работает как и было задумано: | |
|
Всего комментариев: 0 | |