这是一个场景。有以下文件夹:
- 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/
文件夹。它可能会首先查找其他dpi文件夹中的一个。所以如果你在那里有一张(空的?)图片,它可能会被渲染出来。 - Marcin Kozińskires/drawable/
中放置光栅图像。该目录是用于XML可绘制对象,这些对象没有固有的“密度”。 - CommonsWareShapeDrawable
),也可以是有效的if
/switch
语句(例如LevelListDrawable
)。它们中没有一个根据密度而表现不同。XML可绘制对象可以安全地放置在res/drawable/
目录下。位图图像应该只放在指定了Android应该将这些图像视为什么密度的目录中,例如res/drawable-mdpi/
。 - CommonsWare