【问题标题】:Abnormal Behavior with RadioButtonRadioButton 的异常行为
【发布时间】:2015-08-09 00:55:42
【问题描述】:

我在布局中使用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中拍摄了所有相同尺寸的图像。

第一个标志是此处选择的默认值。但它的尺寸似乎略大

现在我按下了第二个标志。但是第一面旗帜并没有恢复到正常状态。

【问题讨论】:

  • 你可能把大分辨率的图片放错了小分辨率的文件夹,你能检查一下吗
  • 我已经检查了 mdpi - xxxhdpi 中的所有文件夹,drawable 中的一切都很好
  • 每次你打开你的应用程序时,只有那个标志会显得很大吗?
  • 没有选择。如果我选择第二个标志并重新打开我的应用程序,那么第二个标志将表现得像第一个。
  • ic_spain_pressed 比 ic_spain 大吗??

标签: android xml android-layout radio-button radio-group


【解决方案1】:

您应该将 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" />

【讨论】:

    猜你喜欢
    • 2018-08-20
    • 1970-01-01
    • 2022-01-01
    • 2016-10-07
    • 2011-05-21
    • 2020-02-19
    • 2018-03-14
    • 2020-05-02
    • 1970-01-01
    相关资源
    最近更新 更多