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

时间:2012-02-14 02:52:23

标签: android

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

然而,file.jpg不起作用。

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

我知道它必须有效,因为在文档中它说可绘制资源也可以是一个jpeg文件。

3 个答案:

答案 0 :(得分:7)

这是为了澄清其他初学者遇到的问题。这似乎是一个猖獗的问题,大多数初学者和浪费大量的时间。只是google“eclipse load drawable”并查看所有遇到麻烦的人。他们都以“嗯,它现在有效,但我不知道为什么......”结束。

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

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

答案 1 :(得分:0)

我不使用Eclipse,所以我知道这是一个bug。对于Eclipse来说,aapt的错误输出(从我的经验来看总是非常有用)错误输出肯定是错误的。但是,这些可能适用:

  1. 虽然Windows中的文件扩展名似乎是.jpg,但实际上并非如此。我从那里了解到这种情况在这里很重要,当它通常不在Windows中时。验证cmd.exe中的扩展名或右键单击属性。

  2. 您同时拥有file.png和file.jpg - 也就是说,它们在点之前具有相同的名称(此处为“file”)。名称必须不同。

  3. 名称中包含一些无效字符。无效,不是Windows,而是aapt - 再次,如果您看到错误,它会告诉您它允许的确切内容。 IIRC,有效字符为[a-z1-9 _。]。

答案 2 :(得分:0)

也许您的jpeg图片大小或分辨率高于正常尺寸。尝试调整大小或更改特定图像的分辨率。