android 设置 android drawable 的颜色

Mor*_*ton 5 android

我出于某种目的创建了一个 drawable.xml,我想使用这种颜色:#29395e。

但我无法在 android:drawable 中设置 #29395e 。

我尝试使用<item android:color=" #29395e"/>,它无法编译。

有什么办法可以在这个 drawable 中使用这种颜色 #29395e 吗?

任何帮助将不胜感激。

这是我的 drawable.xml:

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/corner_with_tab" android:state_selected="true" />
    <item android:drawable="@android:color/holo_blue_light"/>
</selector>
Run Code Online (Sandbox Code Playgroud)

Shu*_*ddh 8

在 res/values 文件夹中创建一个“colors.xml”资源文件

<resources>
    <color name="colorName">#4da6ff</color>
</resources>
Run Code Online (Sandbox Code Playgroud)

现在在你的 mydrawable 文件中使用这样的颜色

 <item
    android:state_checked="true"
    android:drawable="@color/colorName" />
Run Code Online (Sandbox Code Playgroud)


Mar*_*san 5

您无需创建新的 xml 文件,只需添加它即可正常工作。

   <item>
        <shape>
            <solid android:color="#18191B" />
        </shape>
    </item>

Run Code Online (Sandbox Code Playgroud)

所以你的整个代码将是

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/corner_with_tab" android:state_selected="true" />
       <item>
        <shape>
            <solid android:color="#18191B" />
        </shape>
    </item>

</selector>
Run Code Online (Sandbox Code Playgroud)