我有这个问题,我有HDPI和XHDPI文件夹在我的eclipse项目都有不同的图像分辨率,两个图像在不同的文件夹是完全相同的,但它们的大小不同。
所以我在三星Galaxy Note 1上启动了我的应用程序,它有800 x 1280 pixels, 5.3 inches (~285 ppi pixel density)
显示,但它是从XHDPI文件夹加载drawables。
我已经测试过,通过修改HDPI文件夹中的一个图像并保持它在XHDPI文件夹中,结果是注意1是从XHDPI文件夹加载,我在这里错过了一些东西,它应该从HDPI文件夹加载图像,因为它的屏幕密度小于320 DPI。
您可以使用
查看设备设置的密度。Log.v(TAG, "density=" + getResources().getDisplayMetrics().densityDpi);
我遗漏了什么吗,它应该从HDPI文件夹加载图像因为它的屏幕密度小于320 DPI
设备制造商选择使用哪个密度桶。因为~285比240更接近320,所以三星选择-xhdpi
对我来说并不奇怪。另有报道称,它确实是一个-xhdpi
设备。
如果你发现-xhdpi
资源导致某些地方的图像稍微太大,你可能需要控制这些地方(例如,将ImageView
的大小设置为你想要的大小,并将android:scaleType
设置为你想要的图像调整方式)。
它应该从HDPI文件夹加载图像,因为它的屏幕密度小于320 DPI。
为什么?
HDPI is 240 ppi
XHDPI is 320 ppi
注1的285更接近于XHDPI(|285-320|=35)而不是HDPI (|285-240|=45)
Android开发者网站上写着
高密度(hdpi)屏幕(~240dpi)的资源。额外高密度(xhdpi)屏幕(~320dpi)的资源。"任何密度大于240dpi的设备都应该从xhdpi文件夹中加载布局和图像。
因此,你的应用程序有285dpi从xhdpi文件夹加载图像。