背景
开发中有时还是会把dpi/dp/sp这几个单位搞混,因此查了一些相关资料,发现这篇详解安卓开发中的DPI / DP / SP 文章讲解的挺细致的,看完有种豁然开朗的感觉,赶紧做了搬运工,自己也简单做了一下总结.
DPI
1.概念
Dots Per Inch,Inch(英寸)是一个物理单位(无论在任何设备上,其大小都是固定的),所以DPI就指在一个Inch的物理长度内有多少个Dot,160DPI的屏幕就表示一个Inch包含160个Dot,320DPI的屏幕表示一个Inch有320个Dot,所以说Dot的大小是不固定的,对Android而言,DPI等价于PPI(Pixels-Per-Inch).
2.计算
通常我们说一个设备是多少寸时,指的是屏幕对角线(Diagonal)是多少inch,所以用对角线的像素值(px)除以对角线长度(inch),就可以计算出PPI(DPI).
DP/DIP
1.概念
Density-Independent pixel 或Device-Independent Pixel,虚拟的像素单位,它的大小不是一个物理(Phisical)值,而是由操作系统根据屏幕大小和密度动态渲染出来的,用dp可以做到简化适配工作.