我试图在我的布局中使用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 here和here中发现了两个无法解决问题的相关问题。
文件名中没有短划线(&#39; - &#39;),文件格式为&#39; png&#39;并且我的项目中没有res/color
目录。
colors.xml
中定义的所有颜色都以#
开头。
那么如何修复此错误?
答案 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轻松下载这些图标:
您有此功能的更多信息here。