其他分享
首页 > 其他分享> > android-RadioGroup中的自定义RadioButton没有排他选择

android-RadioGroup中的自定义RadioButton没有排他选择

作者:互联网

我正在尝试实现自定义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>

解决方法:

我唯一想到的是RadioButtons应该具有不同的ID.

标签:android-xml,android,radio-button
来源: https://codeday.me/bug/20191122/2056487.html