首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dip、px和dpi之间的关系

dip、px和dpi之间的关系
EN

Stack Overflow用户
提问于 2010-12-23 17:14:01
回答 2查看 10.7K关注 0票数 7

如果在布局xml文件中,我将大小设置为,例如12dip。在mdpi中总是12px,在hdpi中总是18px吗?

那么,对于mdpi来说,dip总是正确的吗?对于其他密度,dip是否会相应地进行扩展?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-23 17:40:02

这个问题在official documentation中得到了充分的报道。this剖面涵盖了dip、px和dpi之间的关系。

引用:

密度无关像素(dp)

一种虚拟像素单元,应用程序可以使用它来定义其UI,以独立于密度的方式表示布局尺寸或位置。

与密度无关的像素相当于160 dpi屏幕上的一个物理像素,即平台假定的基线密度(如本文后面所述)。在运行时,该平台根据使用中屏幕的实际密度,透明地处理所需dp单元的任何缩放。将dp单位转换为屏幕像素很简单:像素= dps *(密度/ 160)。例如,在240 dpi屏幕上,1个dp等于1.5个物理像素。强烈建议使用dp单元来定义应用程序的UI,以确保您的UI在不同的屏幕上正确显示。

所以这句话:

mdpi中始终为12px,hdpi中始终为18px的

看起来是对的,根据文件。

票数 12
EN

Stack Overflow用户

发布于 2014-05-16 04:32:41

在密度为160 dpi的设备上,12dp将是12px。文档并没有说所有的mdpi设备都有160dpi,所以你可能会找到其他密度(例如150或180dpi)的mdpi设备。在这些情况下,关系1dp = 1px不会是真的。

您只能确定此关系:

代码语言:javascript
复制
px = dp * (dpi / 160)

如果设备的密度为320dpi,则每个dp对应于2px,因为320/160是2。我想说2是“密度因子”,但它也是您使用getResources().getDisplayMetrics().density获得的,因此也称为“密度”。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4517289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档