如何修复android错误'颜色值必须以#'?开头?

时间:2016-01-12 19:15:14

标签: android

我试图在我的布局中使用this page中的图标,如下所示

<ImageButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/ic_backspace_black_24dp"
/>

但由于错误而无法呈现

Color value '@drawable/ic_backspace_black_24dp' must start with #

我在SO herehere中发现了两个无法解决问题的相关问题。

文件名中没有短划线(&#39; - &#39;),文件格式为&#39; png&#39;并且我的项目中没有res/color目录。

colors.xml中定义的所有颜色都以#开头。

那么如何修复此错误?

4 个答案:

答案 0 :(得分:4)

只需删除数字即可重命名您的文件名,只保留小写字母或下划线。

答案 1 :(得分:3)

问题解决了:我忘记了互联网上的android源代码真的已经过时了,几乎所有的文档都不能正常工作!

android developer guide中建议的文件夹res/drawable已弃用!该文件夹现在名为mipmap!所以简单的解决方案是使用以下布局来解决问题:

<ImageButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@mipmap/ic_backspace_black_24dp"
/>

永远不要相信Android开发者文档......!

答案 2 :(得分:2)

尝试删除“_”下划线并缩短名称。不确定原因,但这对我有用。

答案 3 :(得分:0)

检查文件drawable / ic_backspace_black_24dp。

如果您下载了SVG版本,则可以将其作为文本文件打开。检查android:fillColor是否有#。

无论如何,如果您使用Android Studio,可以使用Vector Asset Studio轻松下载这些图标:

  • 右键单击drawable
  • 矢量资产
  • 选择您想要的图标

您有此功能的更多信息here