无法将@ drawable /转换为drawable

时间:2013-09-18 10:18:24

标签: android android-layout android-studio

我已将图像添加到我想在UI中使用的Android项目中。我已将文件 my-image.png 添加到 drawable 目录(使用该项目创建的所有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转换为可绘制的

这是捕获:

enter image description here

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

  

Gradle:任务执行失败':MyProject:processDebugResources'。

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

6 个答案:

答案 0 :(得分:57)

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

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

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

将文件名重命名为my_image

答案 1 :(得分:5)

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

my_image.png

答案 2 :(得分:5)

Rename this drawable @drawable/my-image to @drawable/my_image 

答案 3 :(得分:2)

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

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

答案 4 :(得分:0)

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

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

  

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

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

  

此示例使用photoshop CS2。在photoshop中打开图片,然后选择文件&gt; Save For Web&gt;点击保存。 (不要使用文件&gt;另存为)

答案 5 :(得分:-1)

对我来说,你不应该只包括特殊字符字母