java – 为什么一些xhdpi手机只显示位于/ res / drawable的图像?

前端之家收集整理的这篇文章主要介绍了java – 为什么一些xhdpi手机只显示位于/ res / drawable的图像?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是一个场景.有文件夹:

可绘
> 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文件夹?

根据我通过互联网阅读的提示,您不应该将图像文件放在可绘制的文件夹中.

在drawable文件夹中,只放置xml类型的drawable.

如果要放置图像文件,请将其放在以下任何文件夹中(或为其添加额外的限定符,或使用其他限定符):

> drawable-nodpi(仅适用于您不知道应该是其大小的图像)
> drawable-ldpi
> drawable-mdpi
> drawable-hdpi
> drawable-xhdpi
> drawable-tvdpi

放在可绘制的文件夹中的图像被视为默认的,这是mdpi.所以如果你想保持文件在同一个屏幕密度类别,把它放在drawable-mdpi文件夹.

没有将图像放入可绘制文件夹的另一个原因是,android会自动文件转换为16位图像,用于某些设备(如三星Galaxy S),这将使图像在某些情况下看起来很糟糕.

这是一个解释this issue链接.

猜你在找的Java相关文章