理解android分辨率限定符 layout-sw360dp

首先,我们来看看单位dp是怎么一回事,dp是一种单位,使用它,你可以在高、低分辨率上获得一样的空间表现,也就是说,它是像素无关的。

dp计算公式:160*pix/ppi(pix是你要计算的高度或者宽度的分辨率,ppi是像素密度,超过320就是retina display)

比如我们要在layout-sw360dp(表示,如果最小宽度满足360dp,则加载这个里面的layout。)

比如note2 分辨率是720*1280,ppi是267

安卓根据手机ppi 分为  160  240 320 480

超过了就按照更高的ppi档,因此计算采用的ppi是320。

因此,可以得出 note2,在宽度上的dp是 160*720/320 = 360

因此会加载sw360dp里面的数据。

我们那个对比例子,sony的 tablet S,他的ppi :160(简单计算ppi网站,输入宽高 像素,屏幕尺寸,得到ppi)

宽高:1280*800

我们的计算公式 160*1280/240 = 853

实际体验中,发现值在800~820之间,不知道为啥?

我们设置sw800dp之后,发现note使用的默认布局,而tablet S使用的是sw800dp下的布局。

原文地址:https://www.cnblogs.com/kimmy/p/4373894.html