外观
Android 中常见的屏幕密度分类有哪些?对应的 dp 到 px 换算比例是多少?
标准回答
常见密度桶为 ldpi 120dpi、mdpi 160dpi、hdpi 240dpi、xhdpi 320dpi、xxhdpi 480dpi、xxxhdpi 640dpi,1dp 分别约等于 0.75、1、1.5、2、3、4px。通用公式是 px = dp × densityDpi / 160,实际计算使用设备当前配置密度。
通俗例子
px = dp × density;在 density=3 的设备上,20dp 对应约 60px。常见密度档只帮助理解,实际值不一定恰好等于某个整数档。
深入解释
**dp 与 px 的关系:**px 是实际像素,dp 是便于跨密度设计的逻辑尺寸,常用换算为 px = dp × density,density 与系统配置的密度有关。
**分辨率为什么不能代替密度:**两块屏幕都可能是 1920×1080,却有不同物理尺寸和系统 density。只按像素数量放控件,实际看到的控件大小可能差很多。
易混淆点
多显示器的密度可能不同,不应全局缓存一份主屏 density 到处使用。
内容来源
- Android · AI Agent 知识手册 · 原条目
16.1.1