理解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下的布局。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端