我开发了一个测试应用程序,以了解Android屏幕密度相关的东西。我的values.xml和strings.xml具有以下文件夹结构中的相应测试数据:
values \ dimen.xml(100dp)
values-mdpi \ dimen.xml(100dp)
values-hdpi \ dimen.xml(150dp)
values-xhdpi \ dimen.xml(200dp)
values-xxhdpi \ dimen.xml(300dp)
我在UI上显示这些数据,以了解哪个文件夹应用程序正在为不同的屏幕大小和密度获取数据。所以,我得到了以下结果:
1st device
2nd device
问题是 xxhdpi 的第二个设备显示 900dp 值,但 values-xxhdpi \ dimen.xml 值为 300dp ?
答案 0 :(得分:1)
900是像素值。您的One PLus 2密度为3,表示300dp == 900px
答案 1 :(得分:0)
如果它没有选择正确的布局使用值文件夹,就像这样
值-xhdpi
//添加文件夹
值-w300dp-MDPI
根据需要添加文件夹
答案 2 :(得分:0)
索尼Xperia J的屏幕为245 dpi,OnePlus 2的屏幕为401 dpi,因此这些值存在问题。
密度如下:
- ldpi(低)~120dpi
- mdpi(中)~160dpi
- hdpi(高)~240dpi
- xhdpi(超高)~320dpi
- xxhdpi(extra-extra-high)~480dpi
- xxxhdpi(extra-extra-extra-high)~640dpi
因此,你的应用程序从hdpi获取Xperia J和xxhdpi目录的OnePlus 2图像是正确的。阅读更多内容:http://developer.android.com/guide/practices/screens_support.html