我试图制作自定义单选按钮。找到一篇看起来很棒的文章(文章),但是当我尝试按照这里所说的进行操作时,它根本没有更新。基本主题会阻止我创建自定义单选按钮吗?我的代码如下:
布局 xml
<RadioGroup
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:id="@+id/radioGroup"
android:background="@drawable/country_select_radio_button">
<RadioButton
android:id="@+id/ke_radio"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/SouthAfrica"
android:layout_alignStart="@+id/SouthAfrica"
android:layout_alignTop="@+id/SouthAfrica"
android:layout_marginTop="35dp"
android:background="@drawable/country_select_radio_button"
android:text="Kenya"
android:layout_gravity="center_horizontal"
android:checked="false" />
<RadioButton
android:id="@+id/za_radio"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/btn_za"
android:layout_centerHorizontal="true"
android:layout_marginBottom="125dp"
android:text="South Africa"
android:checked="true"
android:layout_gravity="center_horizontal" />
</RadioGroup>
按钮样式 XML
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@drawable/b"
android:state_checked="true"
android:state_pressed="true" />
<item
android:drawable="@drawable/a"
android:state_pressed="true" />
<item
android:drawable="@drawable/a"
android:state_checked="true" />
<item
android:drawable="@drawable/b" />
答.xml
<selector
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners
android:radius="5dp" />
<solid
android:color="#fff" />
<stroke
android:width="2dp"
android:color="#FF0000" />
乙.xml
<selector
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners
android:radius="5dp" />
<solid
android:color="#FF0000" />
<stroke
android:width="2dp"
android:color="#555555" />
无论我改变什么,按钮的样式都保持默认值?
我做错了什么?
您需要在 xml 中设置 android 按钮属性
<RadioButton
android:id="@+id/ke_radio"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@drawable/radio_button_selector"
android:padding="@dimen/text_padding"
android:paddingLeft="10dp"
/>
wher radio_button 选择器是单选按钮的自定义 XML 文件
请使用下面的选择器XML文件
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/radiobutton1" android:state_checked="false"/>
<item android:drawable="@drawable/radiobutton2" android:state_checked="true"/>
<item android:drawable="@drawable/radiobutton1"/>
</selector>
将 2 张用于测试的图像作为单选按钮 1 和单选按钮 2 并进行测试