Jpeg 文件不能用作可绘制资源 - png 文件工作正常



我正在尝试使用背景图像。。。当我把file.png放在drawable文件夹中时,eclipse会识别它,一切都正常。

但是,file.jpg不起作用。

有人能告诉我我做错了什么以及如何解决这个问题吗?

我知道它必须工作,因为在文档中它说可绘制的资源也可以是jpeg文件。

这是为了澄清其他初学者遇到的问题。这似乎是一个猖獗的问题,大多数初学者都会遇到它,并浪费大量时间。只需在谷歌上搜索"eclipse load-drawable",看看所有遇到麻烦的人。他们都以"好吧,它现在有效,但我不知道为什么…"结尾。

在过去的几天里,我在两个不同的项目上遇到了同样的问题。Eclipse似乎确实存在一个问题(未记录的功能?)。首先,确保文件名都是小写的。直到我读了大约一百遍[a-z1-_],我才立刻明白这一点。它实际上并没有说[a-zA-Z1-9_]。

其次,在将可绘制的图像添加到项目中之后,您需要重新启动Eclipse。Eclipse在正常操作期间不会构建可提取的资源。示例是简单地添加一个图像(png或jpg)并手动构建项目。无论您构建或清理项目多少次,图像都不会显示在/bin/res/drawable中。现在保存您的项目并单击文件->重新启动。自动神奇地将图像放在bin文件夹中,可以使用@drawable/引用,并且不会导致构建错误。

我不使用Eclipse,所以据我所知,这是一个bug。Eclipse不与您分享aapt的错误输出(根据我的经验,这总是非常有用的),这无疑是一个错误特性。然而,这些可能适用:

  1. 虽然文件扩展名在Windows中看起来是.jpg,但事实并非如此。我从SO那里了解到,这种情况在这里很重要,而在Windows中通常不重要。在cmd.exe或右键单击属性中验证扩展名。

  2. 你有一个file.png和一个file.jpg——也就是说,它们在点之前有相同的名称(这里是"file")。名称必须不同。

  3. 名称中有一些无效字符。无效,不是针对windows,而是针对aapt——同样,如果您看到错误,它会告诉您它允许什么。IIRC,有效字符为[a-z1-_.].

可能您的jpeg图像大小或分辨率高于正常大小。尝试调整或更改特定图像的分辨率。

最新更新