Android如何为颜色设置可绘制对象?

7

我为某些目的创建了一个drawable.xml文件,并且想要使用颜色#29395e。

但是我无法在android:drawable中设置这个颜色。

我尝试使用<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>

1
你可以将以下代码添加到colors.xml文件中: <color name="colorName">#29395e</color> 然后在drawable文件中使用该颜色。 - Sagar Aghara
我提供了第一个解决方案...): - Sagar Aghara
抱歉,我错过了它,感谢你的帮助,真的。 - Morton
好的,但我在评论中已经给了你答案。不好意思,因为没有人可以为评论点赞。 - Sagar Aghara
我也不确定我的答案是否正确,所以我才加了注释...(: - Sagar Aghara
5个回答

13
在res/values文件夹中创建一个名为"colors.xml"的资源文件。
<resources>
    <color name="colorName">#4da6ff</color>
</resources>

现在在您的mydrawable文件中像这样使用该颜色

 <item
    android:state_checked="true"
    android:drawable="@color/colorName" />

5

无需创建新的XML文件,只需添加此代码即可。

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

因此,您的整个代码将是:

<?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>

2
如果你的 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>

values文件夹下创建drawable colors.xml文件。
    <?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="corner_with_tab">#3F51B5</color> // Example. Add your Hex color

</resources>

1

1、编辑位于drawable文件夹中的xml文件,例如abc.xml。 2、<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="#29395e" android:state_selected="true"/> <item android:drawable="#29395e" /> </selector> 3、在layout.xml中使用android:src="@drawable/abc"


0

使用xml添加颜色是

<item android: android:color="@color/new_color" />

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/corner_with_tab" android:state_selected="true" />
<item android:color="@color/holo_blue_light"/>


如果状态未被选中且未被按下,则颜色将生效。 - Navas pk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接