使用可绘制的xml设置按钮可绘制单选按钮不能用于检查状态

时间:2014-02-04 20:10:26

标签: android radio-button xml-drawable

我有一组单选按钮,我想在选中时将按钮的背景设置为纯色。我使用选择器和项目def创建了一个可绘制资源:

<item android:state_checked="true" android:state_pressed="false"

      android:drawable="@color/app_tint"/>

在试图让它发挥作用时有几种变化。在包含按钮的布局中,我尝试设置按钮和背景属性(不是同时,只是测试中的一个或另一个),如:

android1:background="@drawable/radio_state"

OR

android1:button="@drawable/radio_state"

我已经阅读了几篇帖子,我觉得我很接近,只是缺少一些东西来完成它。谢谢。

1 个答案:

答案 0 :(得分:0)

这是我们为应用做的一个:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/ic_bcnav_ebilling_focus"                            
      android:state_checked="true" />
    <item android:drawable="@drawable/ic_bcnav_ebilling_focus"
      android:state_selected="true" />
    <item android:drawable="@drawable/ic_bcnav_ebilling_focus"
      android:state_pressed="true" />
    <item android:drawable="@drawable/ic_bcnav_ebilling_focus"
      android:state_focused="true" />
    <item android:drawable="@drawable/ic_bcnav_ebilling" />
</selector>

每个州都有不同的抽象,虽然在这个例子中,我们并不真正关心所有的状态都非常不同 - 只有focus = true得到一个突出显示的drawable(它有“......_ focus”)