Переключатели Toggle Button — пример использования

| 02.01.2015

Toggle Button — виджет кнопки-переключателя. Нажатием на Toggle Button мы меняем значение на «включено» или «выключено». При этом текст на кнопке автоматически меняется, что задается с помощью атрибутов android:textOff и android:textOn.

Переключатели Toggle Button - пример использования

Создадим простой layout с элементом ToggleButton. Добавим на этот виджет обработчик клика (метод onToggleClicked() в MainActivity).

res/layout/activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <ToggleButton
        android:id="@+id/togglebutton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textOn="On"
        android:textOff="Off"
        android:onClick="onToggleClicked"/>

</LinearLayout>

Размерности — res/values/dimens.xml

<resources>    
    <dimen name="activity_horizontal_margin">16dp</dimen>
    <dimen name="activity_vertical_margin">16dp</dimen>
</resources>

MainActivity.java будет у нас состоять всего из двух методов: onCreate() и onToggleClicked().

Проверка на статус кнопки делается просто:

boolean on = ((ToggleButton) v).isChecked();

В on мы сохраняем значение true (включено) или false (выключено) и далее в зависимости от этого значения выводим всплывающее сообщение Toast.

package ru.androiddocs.toggleexample;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import android.widget.ToggleButton;


public class MainActivity extends ActionBarActivity {

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

    public void onToggleClicked(View v) {
        // Is the toggle on?
        boolean on = ((ToggleButton) v).isChecked();

        if (on) {
            Toast.makeText(this, "Включено", Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(this, "Выключено", Toast.LENGTH_SHORT).show();
        }
    }
}

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*