Вторник, 12.12.2017, 09:17
Поиск
Никнэйм
Сертификат на никнейм Olelucoye, зарегистрирован на Тимофеев Константин Михайлович
Зарегистрируй свой никнейм
Обратная связь
olelucoye.tk@yandex.ru
Реклама AdSense
Реклама
Друзья сайта
  • Лига медицинского права
  • Гостиница "Зай"
  • FAQ по системе
  • Инструкции для uCoz
  • Главная » Статьи » Андроид разработка

    Кастомизация элементов управления в Android

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

    Состояние кнопки может быть - обычное, кнопка нажата, кнопка активна, кнопка неактивна.

    Состояния для чекбоксов и радиокнопок - элемент выбран, элемент не выбран, элемент не доступен для изменения и не выбран, элемент не доступен для изменения и выбран.

    Сам файл селектора должен находиться в папке drawable.

    Каждое из состояний описывается в селекторе тегом item. Если какое-то из состояний не используется в приложении, его можно опустить.

    Состояния: android:state_pressed - кнопка нажата/не нажата, android:state_checked - чекбокс/радиокнопка выбрана/не выбрана, android:state_enabled - элемент доступен/не доступен.

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

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android" >
        <item android:drawable="@drawable/button_pressed" android:state_pressed="true" />
        <item android:drawable="@drawable/button" />

    </selector>

    В таком варианте для нажатой кнопки будет применяться изображение button_pressed, для всех остальных состояний изображение button.

    Селектор для чекбокса  и радиокнопки может выглядеть так:

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android" >
        <item android:drawable="@drawable/red_radio_ch_p" 
                     android:state_checked="true" android:state_enabled="false"/>
        <item android:drawable="@drawable/red_radio_p" 
                     android:state_checked="false" android:state_enabled="false"/>
        <item android:drawable="@drawable/red_radio_ch" 
                     android:state_checked="true" android:state_enabled="true"/>
        <item android:drawable="@drawable/red_radio" 
                     android:state_checked="false" android:state_enabled="true"/>

    </selector>

    Здесь состояние элемента описывается комбинацией параметров state_checked (выбран - не выбран) и state_enabled (активен - не активен).

    Теперь, чтобы придать кнопке новый вид, в макете для кнопки указываем нужный селектор в параметре background

    <Button
                ..............
                android:background="@drawable/btn_selector"/>

    Для радиокнопки и чекбокса селектор указываем в параметре button

    <RadioButton
               ..............
               android:button="@drawable/radio_selector" />

     

    Пластилиновый калькулятор для Андроид.

    Пластилиновая история.

    Программируем калькулятор на андроид. Урок 1.

    Создание кастомного View-элемента интерфейса.

    Создание виджета-часы с кастомным шрифтом

    Будильник для Андроид "Разбуди меня"

    Делаем полноценное приложение на VBA часть1

     

    Категория: Андроид разработка | Добавил: Olelucoye (27.02.2015)
    Просмотров: 1775
    | Теги: кастомизация, checkbox, java, Android, radiobutton, button | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Меню сайта
    Категории раздела
    Андроид разработка [23]
    libGDX [24]
    Мои андроид проекты [6]
    Excel [7]
    Железяки [5]
    Скрипты в блокноте [4]
    Разное [1]
    Форма входа
    Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Яндекс Метрика
    Яндекс.Метрика