我遇到这个问题,我的eclipse项目中的HDPI和XHDPI文件夹都有不同的图像分辨率,不同文件夹中的图像完全相同但尺寸不同。
所以我在三星Galaxy Note 1上推出了我的应用程序,它显示800 x 1280 pixels, 5.3 inches (~285 ppi pixel density)
,但它正在从XHDPI文件夹中加载drawables。
我已经通过修改HDPI文件夹中的一个图像并将其保存在XHDPI文件夹中进行测试,结果是注意1从XHDPI文件夹加载,我在这里遗漏了一些东西,它假设从中加载图像HDPI文件夹,因为它的屏幕密度小于320 DPI。
答案 0 :(得分:1)
我在这里遗漏了什么,它假设从HDPI文件夹加载图像,因为它的屏幕密度小于320 DPI
设备制造商选择使用哪个密度桶。由于~285接近320而不是240,因此三星选择-xhdpi
并不奇怪。 Others have reported that it indeed is an -xhdpi
device
如果您发现-xhdpi
资源导致某些地方的图片略微过大,您可能需要在这些地方控制它们(例如,将ImageView
尺寸设置为您的尺寸希望并将android:scaleType
设置为您希望如何调整图像。
答案 1 :(得分:1)
您可以使用
检查设备的密度Log.v(TAG, "density=" + getResources().getDisplayMetrics().densityDpi);
答案 2 :(得分:0)
在Android开发者网站上,它说,
“用于高密度(hdpi)屏幕的hdpi资源(~240dpi)。 xhdpi用于超高密度(xhdpi)屏幕的资源(~320dpi)。“
任何密度高于240dpi 的设备都应从xhdpi文件夹加载布局和图像。
因此,你的应用程序在Galaxy note上有285dpi加载来自xhdpi文件夹的图像。
答案 3 :(得分:0)
它假设从HDPI文件夹加载图像,因为它的屏幕密度小于320 DPI。
为什么?
HDPI 240 ppi
XHDPI 320 ppi
注1的285更接近 XHDPI (| 285-320 | = 35)而不是 HDPI (| 285-240 | = 45)