三星Note 1正在从Xhdpi文件夹加载资源



我有这个问题,我有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文件夹加载图像。

最新更新