27

我已将图像添加到我想在 UI 中使用的 Android 项目中。我已将文件my-image.png添加到可绘制目录(添加到使用项目创建的所有 4 个可绘制目录),并将其添加ImageView到布局中:

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/imageView"
    android:layout_alignParentBottom="true"
    android:layout_alignLeft="@+id/textView"
    android:layout_marginBottom="63dp"
    android:src="@drawable/my-image" />

问题是我收到以下错误:

渲染问题

无法将 @drawable/my-image 转换为可绘制对象

这是捕获:

在此处输入图像描述

另外,如果我尝试编译项目,我会收到以下错误:

Gradle:任务“:MyProject:processDebugResources”执行失败。

为什么我会收到这些错误,我该如何解决?我错过了什么吗?我刚刚开始Android开发。

4

6 回答 6

57
Gradle: Execution failed for task ':MyProject:processDebugResources'.

因为您在资源中有命名约定错误

file name: must contain only [a-z0-9_.]

将文件名重命名为my_image

于 2013-09-18T10:20:44.510 回答
5

尝试在文件名中使用下划线和小字符,例如

my_image.png

于 2013-09-18T10:19:26.033 回答
5
Rename this drawable @drawable/my-image to @drawable/my_image 
于 2013-09-18T10:26:10.620 回答
2

尝试仅使用 abc...xyz 和 0123...9,不要使用 -,而是使用 _(下划线)。

使用my_name代替my-name,因为连字符(-) 在编码中具有特殊含义,因此不能与字符串字面意思一起使用。

于 2014-04-02T21:20:55.207 回答
0

如果命名约定正确,请尝试:

打开资源对话框,查看是否显示图像 png 预览。

在设计视图中选择图像>转到属性>单击省略号按钮>可绘制>搜索您的png图像并单击它。

如果未显示预览,请取消资源,然后尝试以 png 格式重新保存图像。

此示例使用 Photoshop CS2。在 Photoshop 中打开图像,然后选择文件 > 保存为 Web > 单击保存。(不要使用文件 > 另存为)

于 2016-11-30T14:32:14.213 回答
-1

它对我有用,你不应该只包含特殊字符

于 2016-12-04T13:24:17.500 回答