可绘
> drawable-ldpi
> drawable-mdpi
> drawable-hdpi
> draawble-xhdpi
图像(通常为背景,但不限于此类图像)仅位于/ res / drawable中.
我测试galaxy S3上的应用程序,背景显示正确.我测试HTC One X,背景图像没有显示.
如果我将图像从/ res / drawable复制到/ res / drawable-xhdpi,One X将显示图像.
在逻辑上思考,这不应该发生,对吧?如果drawable-xhdpi中没有图像,那么Android应该将其看成其他文件夹,直到达到默认的/ res / drawable,并且应该从那里拉出.
为什么这不会在一些手机上发生?
PS.我注意到与某些平板电脑相同的问题,但我现在不记得哪些.
PPS.我在这里提到了背景图像,但问题并不限于此.它也发生在其他图像.我知道xhdpi手机有大图像的问题,我不想让你认为问题是太大的背景图像.它也发生在“正常”大小的其他图像.
解决方法
根据我通过互联网阅读的提示,您不应该将图像文件放在可绘制的文件夹中.
在drawable文件夹中,只放置xml类型的drawable.
如果要放置图像文件,请将其放在以下任何文件夹中(或为其添加额外的限定符,或使用其他限定符):
> drawable-nodpi(仅适用于您不知道应该是其大小的图像)
> drawable-ldpi
> drawable-mdpi
> drawable-hdpi
> drawable-xhdpi
> drawable-tvdpi
放在可绘制的文件夹中的图像被视为默认的,这是mdpi.所以如果你想保持文件在同一个屏幕密度类别,把它放在drawable-mdpi文件夹.
没有将图像放入可绘制文件夹的另一个原因是,android会自动将文件转换为16位图像,用于某些设备(如三星galaxy S),这将使图像在某些情况下看起来很糟糕.
这是一个解释this issue的链接.