2016-11-03 2 views
1

Я пытаюсь настроить свой RadioButton как обычные кнопки и поддерживать изменение цвета на кнопках с эффектом пульсации, когда один из них щелкнут.RadioButton, как обычная кнопка

Что происходит сейчас, так это то, что все кнопки серые, они пульсируют в фиолетовом цвете, когда их нажимают, но не изменяют их цвет до пурпурного permenently - в чем проблема, которую я пытаюсь решить.

Thisi s как кнопки он выглядит прямо сейчас

enter image description here

RadioButton в whatever.xml

<RadioButton 
    style="@style/Widget.AppCompat.Button" 
    android:id="@+id/product_size2" 
    android:layout_width="48dp" 
    android:layout_height="48dp" 
    android:text="S" 
    android:button="@null" 
    android:textColor="@color/material_light_white"/> 

Соответствующие пункты в style.xml

<item name="android:colorButtonNormal">@color/material_grey_700</item> 
<item name="android:colorControlHighlight">@color/material_purple_500</item> 

Я хочу, чтобы кнопки оставались фиолетовыми, когда они были выбраны - решение?

+0

Я думаю, вы должны использовать государственный селектор фона для этой задачи –

+0

вы можете разработать? – bluesummers

+0

ok, попробуем ответить –

ответ

0

radiobutton_background.xml:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" > 
     <item android:state_checked="true" android:drawable="@color/material_purple_500" /> 
     <item android:state_checked="false" android:drawable="@color/material_grey_700" /> 
</selector> 

и использовать его в качестве фона:

android:background="@drawable/radiobutton_background" /> 
+0

Не работает, что происходит, когда фон накладывает стиль, эффективно убивая стиль (создает куб без высоты) и никакого эффекта пульсации – bluesummers

Смежные вопросы