首先,我们来看看单位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下的布局。