我有一个新设备将我的应用移植到(Kindle Fire HDX)
DisplayMetrics
转储:
DPI : 320,
wxh 1920x1200,
x,y dpi 324.255x322.966,
scaleddensity 2.0
densityfactor 2.0
放置布局资源的最准确的文件夹“swXXXdp”是什么?我可以从displayMetrics计算出“XXX”吗?
sw720dp
”。 sw600dp
“sw600dp
”获取资源,但我不完全理解为什么(因为它是一个比其他7更大的分辨率屏幕)“有人可以解决一些问题吗? THX!
答案 0 :(得分:3)
由于每个人的答案和一些研究,我终于理解了 swXXXX 的事情。
sw * XXXX *和sh * XXXX *确实意味着可用的最小宽度和最小高度,但显示屏中的 Desity Factor 度量标准也会影响此值。
例如
亚马逊Kindle Fire HDX 7&#34;有一个&#34; raw&#34;分辨率为1920x1200,但显示器是超密集(xhdpi),这就是为什么密度因子设置为2.因此对于资源,Android会查看sw(1200/2)== sw600dp < /强>
我的旧平板电脑,也是7&#34;,原始分辨率为1024x600,但显示密度较低,因此DisplayMetrics返回密度系数为1,关联的资源文件夹为sw(600 / 1)dp == sw600dp
新的&#34;视网膜样&#34; 10&#34;屏幕的分辨率大约为2560x1600,但是再次,密度因子是2,所以当涉及到swXXXX布局时,它们等同于密度因子= 1的1280x720屏幕(即Galaxy Tab):文件夹是 sw720dp 两种情况。
因此,虽然布局文件夹是相同的,但是将根据密度代码提取位图资源,这是不同的。我描述的现代平板电脑使用xhdpi,而较旧的平板电脑使用mdpi或hdpi -can记不起 - 。这就是为什么最终的工作原理:相同的布局使用与密度无关的维度和负载密度相关的位图。最后的煎蛋味道鲜美!