我需要自定义android中的单选按钮的帮助。基本上我想做的是将单选按钮设置为白色,并且当用户单击或选择单选按钮时,我希望内圈为蓝色,外圈为白色。
我知道我可以使用 buttonTint ,但是当用户将单选按钮选择为相同颜色时,这将同时设置外圆和内圆。
我想做什么甚至可能?
谢谢
答案 0 :(得分:0)
使用buttonTint
的{{1}}属性:
RadioButton
答案 1 :(得分:0)
您可以使用radioButton的button属性并设置所需的可绘制对象,例如仅对选中的内部圆形着色,而对未选中的白色圆圈进行如下着色
android:button="@drawable/rb_bg"
rb_bg.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@drawable/button_selected"/>
<item android:state_checked="false" android:drawable="@drawable/button_unselected"/>
</selector>
button_selected.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="oval">
<solid android:color="@color/divider_color" />
</shape>
</item>
<item android:bottom="1dp">
<shape android:shape="oval">
<solid android:color="@android:color/white" />
</shape>
</item>
<item
android:bottom="4dp"
android:left="4dp"
android:right="4dp"
android:top="4dp">
<shape android:shape="oval">
<size
android:width="16dp"
android:height="16dp" />
<solid android:color="@color/blue" />
</shape>
</item>
button_unselected.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="oval">
<solid android:color="@color/divider_color"/>
</shape>
</item>
<item
android:bottom="1dp">
<shape android:shape="oval">
<size android:height="24dp" android:width="24dp"/>
<solid android:color="@android:color/white"/>
</shape>
</item>