为什么有些xhdpi手机只显示位于/ res/drawable中的图像?

san*_*one 9 java android android-layout htc-android

这是一个场景.有文件夹:

  • 绘制
  • 绘制,LDPI
  • 绘制,MDPI
  • 绘制,华电国际
  • draawble-xhdpi

图像(通常是背景,但不仅限于此类图像)仅位于其中/res/drawable.

我在Galaxy S3上测试应用程序并正确显示背景.我在HTC One X上测试并且没有显示背景图像.

如果我将图像复制/res/drawable/res/drawable-xhdpi,则One X将显示图像.

从逻辑上思考,这不应该发生,对吧?!如果没有图像drawable-xhdpi,那么Android应该将其查看到其他文件夹,直到它达到默认值,/res/drawable并且它应该从那里拉出来.

为什么在某些手机上没有发生这种情况?

PS.我注意到一些平板电脑存在同样的问题,但我现在不记得哪些平板电脑了.

PPS.我在这里提到了背景图片,但问题并没有受到约束.它也与其他图像一起发生.我知道xhdpi手机有大图像的问题,我不希望你认为问题是背景图像太大.它也会出现在"正常"大小的其他图像中.

and*_*per 9

为什么要将图像文件放入drawable文件夹?

根据我通过互联网阅读的提示,你不应该把图像文件放在drawable文件夹中.

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

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

  • drawable-nodpi(仅适用于您不知道其大小应该是什么的图像)
  • 绘制,LDPI
  • 绘制,MDPI
  • 绘制,华电国际
  • 绘制,xhdpi
  • 绘制,tvdpi

放入drawable文件夹的图像被视为默认值,即mdpi.因此,如果要将文件保留在相同的屏幕密度类别中,请将其放入drawable-mdpi文件夹中.

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

这是一个解释此问题的链接.