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" />
我在布局中使用 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" />