具有颜色的可绘制状态(不可绘制)

时间:2011-11-26 20:03:49

标签: java android colors

我想为视图提供一种背景颜色,其行为如下:按下视图时背景应为绿色,否则为黑色。

此选择器有效

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/green" android:state_pressed="true"/>
    <item android:drawable="@drawable/black"/>

</selector>

但是为了做到这一点,我需要创建一个具有所需颜色的九个补丁3x3文件。我怎样才能达到相同的行为,但是给出了颜色代码而不是可绘制的?

由于

2 个答案:

答案 0 :(得分:14)

只需使用颜色即可。来自docs

  

颜色资源也可以用作XML中的drawable。例如,在创建状态列表drawable时,您可以引用android:drawable属性的颜色资源(android:drawable =“@ color / green”)。

答案 1 :(得分:4)

您可以使用color state list执行此操作,它们与您发布的代码中的可绘制状态列表相同。您还可以创建shape drawable并仍使用上面使用的可绘制代码。

相关问题