Привет! Продолжая тему кастомизации элементов интерфейса Android хочу описать, как кастомизировать RadioButton.
Что бы создать кастомный стиль для RadioButton нужно создать drawable-ресурс, содержащий 4 иконки:
Pressed | Checked |
True | True |
True | False |
False | True |
False | False |
Поместите ваши изображения в res\drawable\ Далее нужно создать описание для этих ресурсов. Селектор.
Для этого нужно создать файл, например res\drawable\button_radio.xml в втором и будут описано, когда какую картинку размещать.
Пример:
1 2 3 4 5 6 7 8 9 10 |
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="true" android:state_pressed="false" android:drawable="@drawable/radio_on"/> <item android:state_checked="false" android:state_pressed="false" android:drawable="@drawable/radio_off"/> <item android:state_checked="true" android:state_pressed="true" android:drawable="@drawable/radio_on_pressed"/> <item android:state_checked="false" android:state_pressed="true" android:drawable="@drawable/radio_off_pressed"/> </selector> |
Подключить его из разметки можно при помощи следующей строки:
1 |
android:button="@drawable/button_radio" |
А из JAVA кода можно так:
1 2 |
RadioButton newRadioButton = new RadioButton(this); newRadioButton.setButtonDrawable(R.drawable.radio_button); |
В коде выше описаны не все атрибуты.