RadioButton 的异常行为

Abnormal Behavior with RadioButton

我在布局中使用 RadioButton。我在哪里为 RadioButton 提供了背景信息。下面是代码

<RadioGroup
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="horizontal">

    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:button="@null"
        android:background="@drawable/rb_spain"
        android:id="@+id/am_rb_spain" />

    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:button="@null"
        android:background="@drawable/rb_germany"
        android:layout_marginLeft="@dimen/margin_15"
        android:layout_marginRight="@dimen/margin_15"
        android:id="@+id/am_rb_german" />

    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:button="@null"
        android:background="@drawable/rb_english"
        android:id="@+id/am_rb_english" />

</RadioGroup>

RadioButton 可绘制背景

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_checked="false" android:drawable="@drawable/ic_spain" />
    <item android:state_checked="true" android:drawable="@drawable/ic_spain_pressed" /> //pressed image is Large in size
    <item android:drawable="@drawable/ic_spain" /> <!-- default -->
</selector>

我已将选择保存在 TinyDB 中,这样每当我打开我的应用时,应用就会记住我的选择。但是每当我打开我的应用程序时,默认选择的 RadioButton 背景都会显得很大。 我用相同的填充在 drawable 中拍摄了所有相同大小的图像。

这里选择的第一个标志是默认。不过尺寸好像有点大

现在我按下了第二个标志。但是第一个标志没有进入正常状态。

您应该将 android:button="@null" 更改为 android:button="@drawable/rb_germany" 并移除每个 RadioButton 的背景。它会 运行 很好。

更新后的 RadioButton 应如下所示:

<RadioButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:button="@drawable/rb_spain"
    android:id="@+id/am_rb_spain" />