我正在尝试实现自定义RadioButton
,并且样式正如我所期望的那样工作,但是,选择突出显示并不是唯一的。意思是,我可以在同一组中同时突出显示两个按钮。
修改 状态之前我选择第二个按钮:
这是我得到的问题的视觉效果 - 请注意我只选择了一个:
以下是我RadioButton
的背景选择器的代码:
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:state_checked="true"
android:state_pressed="false"
android:drawable="@drawable/toggle_button_selected"/>
<item
android:state_checked="false"
android:state_pressed="false"
android:drawable="@drawable/toggle_button_unselected"/>
<item
android:state_checked="true"
android:state_pressed="true"
android:drawable="@drawable/toggle_button_selected"/>
<item
android:state_checked="false"
android:state_pressed="true"
android:drawable="@drawable/toggle_button_unselected"/>
</selector>
以下是我在小组中的实施:
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/toggle_button_selector"
android:button="@android:color/transparent"
android:checked="true"
android:padding="10dp"
android:text="Test" />
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/toggle_button_selector"
android:button="@android:color/transparent"
android:padding="10dp"
android:text="Test1" />
</RadioGroup>
有什么想法吗?
修改 绘项目:
toggle_button_unselected.xml
<?xml version="1.0" encoding="utf-8" ?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners
android:radius="5dp" />
<solid
android:color="@color/dark_purple" />
<stroke
android:width="1dp"
android:color="@color/dark_purple" />
</shape>
toggle_button_selected.xml
<?xml version="1.0" encoding="utf-8" ?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners
android:radius="5dp" />
<solid
android:color="@color/purple" />
<stroke
android:width="1dp"
android:color="@color/dark_purple" />
</shape>
答案 0 :(得分:2)
我唯一能想到的是收音机按钮应该有不同的ID。