更改选中的单选按钮颜色

时间:2017-08-16 15:29:03

标签: android xml android-styles android-studio-2.3

我想更改已检查的RadioButton颜色。但我不知道改变它的方法。下面是一些代码和图片。

<RadioButton
  android:id="@+id/type_cambodia"
  android:layout_width="match_parent"
  android:layout_height="30dp"
  android:button="@null"
  android:drawablePadding="20dp"
  android:layout_marginTop="@dimen/app_margin"
  android:drawableRight="@android:drawable/btn_radio"
  android:text="@string/type_goal_khmer_kh"/>

Picture of UI showing here ->

1 个答案:

答案 0 :(得分:1)

您可以设计自己的自定义绘图。

<style name="MyRadioButtonStyle" parent="@android:style/Widget.CompoundButton.RadioButton">
    <item name="android:button">@drawable/custom_btn_radio</item>
</style>

<强> custom_drawable_for_radio_button.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:state_window_focused="false"
          android:drawable="@drawable/btn_radio_on" />
    <item android:state_checked="false" android:state_window_focused="false"
          android:drawable="@drawable/btn_radio_off" />

    <item android:state_checked="true" android:state_pressed="true"
          android:drawable="@drawable/btn_radio_on_pressed" />
    <item android:state_checked="false" android:state_pressed="true"
          android:drawable="@drawable/btn_radio_off_pressed" />

    <item android:state_checked="true" android:state_focused="true"
          android:drawable="@drawable/btn_radio_on_selected" />
    <item android:state_checked="false" android:state_focused="true"
          android:drawable="@drawable/btn_radio_off_selected" />

    <item android:state_checked="false" android:drawable="@drawable/btn_radio_off" />
    <item android:state_checked="true" android:drawable="@drawable/btn_radio_on" />
</selector>

在选择器项目中,您可以指定自定义&#34; ON&#34;可以用不同的颜色绘制。然后使用此自定义drawable为您单选按钮而不是默认按钮。

RadioButton - how to use a custom drawable?