android中的尺寸单位 dp dip px pt sp mm in 解释

Android中有好几种尺寸的单位。如,

 

dip: device independent pixels(设备独立像素,也就是设备像素密度无关像素)
dp:同dip
px : (pixels,像素)屏幕上的真实像素表示
pt : (point,点)是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;  
sp : (scaled pixels,放大像素). 主要用于字体显示best for textsize。  
in :(Inch,英尺) 基于屏幕的物理尺寸
mm :毫米 基于屏幕的物理尺寸

 

除了dip,多数还是比较好理解的,接下来详细解释一下dip的含义。


先做几个概念介绍

1.屏幕尺寸:屏幕的物理尺寸,以屏幕的对角线长度作为依据(比如2.8寸,3.5寸)。

2.分辨率:屏幕上拥有的像素的总数。注意,虽然大部分情况下分辨率都被表示为“宽度×长度”,但分辨率并不意味着屏幕

长宽比。在Android系统中,程序一般并不直接处理分辨率。

3.像素密度:以屏幕分辨率为基础,沿屏幕长宽方向单位英尺长度排列的像素个数。密度较低的屏幕,在长和宽方向都只有比较少的像素,而高密度的

屏幕较多

 

注意这个英文缩写

DPI:Dots Per Inch 每英寸的点个数,像素密度的单位

 

dip的解释说明:

dip:device independent pixels(设备独立像素,也就是设备像素密度无关像素),
指一个抽象意义上的像素。这里抽象了一个像素密度为160dpi的屏幕。
我们设置的dip数值,在物理屏幕上系统会根据实际的像素密度按照如下公式换算成px。

pixels = dip * (density / 160)。

举个例子,

100dip,在160dpi的屏幕上,会绘制为100*(160/160)= 100px。绘制长度为(100/160) 英寸

如果我们程序运行的设备屏幕像素密度为 320dpi,显示就会变成100*(320/160) = 200px。 绘制长度为(200/320)英寸 = (100/160)英寸

如此确保了相同屏幕尺寸,不同像素密度的设备上,100dip的显示长度一致。所以叫 设备独立像素,也叫密度无关像素。


对比px

相比,100px,在160dpi的屏幕上绘制长度为 (100/160)英寸

而在320dpi的屏幕上的绘制长度为 (100/320)英寸

如此在相同屏幕尺寸,不同像素密度的屏幕上显示的大小就不同了。


 

你可能感兴趣的:(android中的尺寸单位 dp dip px pt sp mm in 解释)