系统知识

Android 新手必看 px、density、dpi、dp的关

2019-02-20  本文已影响99人  ZuYuan

关于这四者很多人弄不清楚,网上许多文章也解释得很“迷”。我也是很久才搞清楚它们的关系,现在我就好好解释下这四者关系。

px:

它最简单,它就是像素单位,一个px代表着一个像素点。对于手机,我们通常说的1080✖1920就是指该手机屏幕,宽有1080个像素点,高有1920个像素点,即是1080px✖1920px。

density:

它指的是屏幕密度,但是千万不要被这四个字给误导了,它的大小跟手机屏幕大小没有关系。下面我举几个例子:

  • 1080*1920:density为3.0
  • 1080*2160:density为2.75
  • 720*1280:density为2.0

也就是说density只是根据屏幕的长、宽值来设立的一个值,它只跟屏幕的高总像素点和宽总像素点有关系。

dpi

只要density理解到了,dpi的理解就没有问题了,它就只跟density有关系。
关系为:dpi = density✖160
这里的160也是一个dpi值,只是160dpi被置为标准dpi。

dp

dp也被称作为dip,它是为了屏幕适配而专门出现的,为什么说是为了适配?因为它是px和density之间的产物。
关系:px = density ✖ dp
px = (dpi / 160)✖dp

总结

px和density就是屏幕自带的东西,而dpi和dp则是通过计算得来的东西。将density乘以160得到dpi是为了什么呢?这里我也没深入查询,我觉得dpi更像是作为一种标准出现。
例如Android手机的:160dpi、320dpi、440dpi、480dpi...

上一篇下一篇

猜你喜欢

热点阅读