You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android开发:如何在Drawable的Vector XML文件中通过ID引用colors.xml中的颜色值

解决Android矢量图引用自定义颜色的问题

嘿,别着急,我来帮你搞定这个颜色引用的问题!

你之前试的几种写法都不对,正确的引用自定义颜色的方式是**@color/input_lines**,下面给你解释下为啥之前的写法不行:

  • @android:color/input_lines:这个前缀@android:是用来引用系统自带的颜色资源的,而你的input_lines是自己在colors.xml里定义的自定义颜色,所以用这个前缀找不到
  • @colors/input_lines:Android资源引用里颜色对应的类型名称是color,不是colors,多了个"s"自然就失效了
  • @android:R.color.input_lines:这种写法是Java/Kotlin代码里引用系统颜色的方式,在XML资源文件里根本不需要这么写,XML里直接用@资源类型/资源名称的格式就够了

给你举个实际的例子,假设你的矢量图image.xml里有个路径需要用到这个颜色,写法应该是这样的:

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportWidth="24"
    android:viewportHeight="24">
    <!-- 这里用@color/input_lines引用你的自定义颜色 -->
    <path
        android:fillColor="@color/input_lines"
        android:pathData="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"/>
</vector>

另外还要确认下你的colors.xml是放在res/values/目录下的,而且颜色名称input_lines没有拼写错误哦,这样就能顺利引用到你定义的#ffffff颜色了。

内容的提问来源于stack exchange,提问作者Sunnyshechka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 14:07:34