You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何displayMetrics.density值异常?Pixel 7设备dp计算问题

解决Pixel 7获取正确dp值的问题

首先明确:displayMetrics.density = 2.625是系统提供的正确值,它对应Pixel 7的系统密度设定(420dpi,因为2.625 = 420 / 160,160dpi是Android的基准密度)。

你遇到的非整数结果,是因为直接用像素值除以密度的计算方式本身就可能产生小数。Android系统已经提供了直接获取整数dp尺寸的API,无需手动计算:

  • 调用displayMetrics.widthDp可以直接得到屏幕宽度的整数dp值,对于Pixel 7来说,这个值就是412,完全符合你的视觉预期。

如果一定要手动计算接近整数的结果,也可以通过Math.round(displayMetrics.widthPixels / displayMetrics.density)对结果取整,同样会得到412。

另外,你推测的2.62135922是1080 / 412的反向推导值,属于适配场景下的“凑整数值”,并非系统实际的密度参数,系统真实密度值依然是2.625。

内容的提问来源于stack exchange,提问作者zeus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 23:59:53