Изменить цвет RadioButton при нажатии
У меня есть RadioGroup
имея 3 Radio Buttons
, По умолчанию, когда я нажимаю переключатель, он становится синим. Мне нужно изменить цвет, скажем, когда я нажимаю на первый, он должен превратиться в желтый, 2-й синий и 3-й в зеленый.
Я видел некоторые учебные пособия для настройки с помощью стилей переключателей, например, Можно ли изменить значок переключателя в группе переключателей Android, но он скрывает все кнопки.
Вот мой XML .
<RadioGroup
android:id="@+id/radioGroup1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/studentImage"
android:layout_alignParentRight="true"
android:layout_alignRight="@+id/studentImage"
android:layout_alignTop="@+id/studentImage"
android:orientation="horizontal" >
<RadioButton
android:id="@+id/rb1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="visible" />
<RadioButton
android:id="@+id/rb2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="visible" />
<RadioButton
android:id="@+id/rb3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="visible" />
</RadioGroup>
1 ответ
Вы можете использовать описываемый список состояний, как я написал ниже:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@drawable/color_pressed" /> <!-- pressed -->
<item android:drawable="@drawable/default_button" /> <!-- default -->
</selector>
color_pressed и deafult_button будут вашими объектами рисования для каждого состояния кнопки, вы можете иметь несколько селекторов для каждого переключателя