Изменить цвет RadioButton при нажатии

У меня RadioGroup есть 3 Radio Buttons. По умолчанию, когда я нажимаю переключатель, он становится синим. Мне нужно изменить цвет, скажем, когда я нажимаю на первый, он должен стать желтым, второй синим и третьим на зеленый< /сильный>.

Я видел несколько руководств по настройке путем стилизации переключателей, например Можно ли изменить значок переключателя в группе переключателей 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>

person Aleena    schedule 07.08.2014    source источник
comment
Вы можете попробовать это с разными селекторами для всех переключателей. .   -  person MysticMagicϡ    schedule 07.08.2014
comment
проверьте эту ссылку stackoverflow.com/questions/16213186/   -  person Developer    schedule 07.08.2014
comment
@PerlDeveloper, спасибо за ссылку, у меня сработало.   -  person Aleena    schedule 07.08.2014
comment
@Алина, мне нужна та же информация. Не могли бы вы посоветовать, как этого добиться? Похоже, что PearlDeveloper удалил комментарий, который показался вам полезным...   -  person AndroidDevBro    schedule 02.04.2018


Ответы (1)


Вы можете использовать statelist, как я написал ниже:

<?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 будут вашими чертежами для состояния каждой кнопки, у вас может быть несколько селекторов для каждого переключателя

person Evan    schedule 07.08.2014
comment
Когда я применяю этот стиль к своему переключателю, например android:button="@drawable/radio" , он скрывает кнопки. - person Aleena; 07.08.2014