我在Radio Buttons
中有一组RadioGroup
。我创建了一个StateList Drawable
来指示每个按钮的状态。按钮操作正常,因为选择任何一个按钮都会启动听众等。但StateList Drawable
无法正常工作。这是相关的东西:
使用按钮布局XML:
<RadioButton
android:id="@+id/score4"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_marginBottom="5dp"
android:button="@drawable/score_button_selector" />
score_button_selector xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true"
android:drawable="@drawable/score_bg_2c_on" />
<item android:state_checked="false"
android:drawable="@drawable/score_bg_2c_off"/>
</selector>
score_bg_2c_off
是一个蓝色按钮:
和score_bg_2c_on
是一个绿色按钮:
蓝色按钮正确显示,但选择(按下/单击)时,应显示绿色按钮。正如我所说,按钮的操作很好,我得到了正确的价值等等 - 只是不是可绘制的改变。我尝试了state_selected
而不是state_checked
而没有更好的结果。
为什么这不符合我的意愿?
感谢。
以下是更多数据......我拿出android:button=
并将drawable放在android:background=
上。
<RadioButton
android:id="@+id/score4"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_marginBottom="5dp"
android:background="@drawable/score_button_selector" />
这样就会显示默认的单选按钮。此按钮显示选择的时间(按钮内的蓝色),但背景永远不会改变。我知道它看到了score_button_selector
drawable,因为它显示的按钮的蓝色背景只在drawable中定义。
答案 0 :(得分:0)
试试这个
<RadioButton
android:id="@+id/score4"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_marginBottom="5dp"
android:button="@android:color/transparent"
android:background="@drawable/score_button_selector" />
答案 1 :(得分:0)
没有什么好的项目干净无法修复!我认为也许大部分时间做 clean 作为最后的手段b-4发布一个问题是一个很好的协议。在追逐鬼魂3天后,它解决了这个问题。