RadioGroup中的自定义单选按钮没有独占选择

时间:2014-03-03 14:42:58

标签: android radio-button android-xml

我正在尝试实现自定义RadioButton,并且样式正如我所期望的那样工作,但是,选择突出显示并不是唯一的。意思是,我可以在同一组中同时突出显示两个按钮。

修改 状态之前我选择第二个按钮:

enter image description here

这是我得到的问题的视觉效果 - 请注意我只选择了一个:

enter image description here

以下是我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>

1 个答案:

答案 0 :(得分:2)

我唯一能想到的是收音机按钮应该有不同的ID。