Android 点滴——px、dp、dip、sp详解

xiaoxiao2021-02-28  26

基本概念:

px   :是屏幕的像素点 dp   :一个基于density的抽象单位,如果一个160dpi的屏幕,1dp=1px dip  :等同于dp sp   :同dp相似,但还会根据用户的字体大小偏好来缩放(建议使用sp作为文本的单位,其它用dip)

1. 基础知识

    mm: millimeters 毫米,长度单位

    in: inches 英寸,长度单位,屏幕物理尺寸大小的基本单位

    pt: points 一个标准单位,大小为一英寸屏幕大小的1/72

    dpi: dots per inch,即像素密度,每英寸的像素点

    举个例子帮助理解:

    假设QVGA (320*240)分辨率的屏幕物理尺寸是2英寸*1.5英寸,则这部手机的dpi= 160,即每英寸具有160个像素点。

      Screen size(屏幕尺寸)指的是手机实际的物理尺寸。如iPhone4S是3.5英寸,这里的3.5英寸指的是手机屏幕对角线的长度为3.5英寸。

2. 介绍屏幕的分辨率

    Resolution (分辨率)之的是设备屏幕横向和纵向的像素的个数。常见的手机分辨率有: QVGA(240×320像素)、HVGA(480×320像素)、WVGA(800×480像素)、720P(1280x720像素)、1080P(1920x1080像素)、2K(2560x1440像素)

3. px, dp, dip, sp之间的区别

    px: pixel,即像素,1px代表屏幕上的一个物理的像素点。但px单位不被建议使用。因为同样像素大小的图片在不同手机显示的实际大小可能不同。要用到px的情况是需要画1像素表格线或阴影线的时候,如果用其他单位画则会显得模糊。

    dip (dp): device independent pixel。dp (dip)是最常用也是最难理解的尺寸单位。与像素密度密切相关。Android系统定义了四种像素密度:低(120dpi)、中(160dpi)、高(240dpi)和超高(320dpi),它们对应的dp到px的系数分别为0.75、1、1.5和2,这个系数乘以dp长度就是像素数。例如界面上有一个长度为“80dp”的图片,那么它在240dpi的手机上实际显示为80x1.5=120px,在320dpi的手机上实际显示为80x2=160px。如果你拿这两部手机放在一起对比,会发现这个图片的物理尺寸“差不多”,这就是使用dp作为单位的效果。

     sp: Scale-independent Pixel,即与缩放无关的抽象像素。sp和dp很类似但唯一的区别是,Android系统允许用户自定义文字尺寸大小(小、正常、大、超大等等),当文字尺寸是“正常”时,1sp=1dp=0.00625英寸,而当文字尺寸是“大”或“超大”时,1sp>1dp=0.00625英寸。类似我们在windows里调整字体尺寸以后的效果——窗口大小不变,只有文字大小改变。

转载请注明原文地址: https://www.6miu.com/read-1600211.html

最新回复(0)