涉及到屏幕显示的密度单位和度量单位

涉及到屏幕显示的密度单位和度量单位

本次涉及到的单位有dpi、ppi、dp、sp、px、pt、in

密度单位

ppi : 图像分辨率(在图像中,每英寸所包含的像素数目)

dpi :打印分辨率 (每英寸所能打印的点数,即打印精度)

p p i = 长 度 像 素 数 2 + 宽 度 像 素 数 2 屏 幕 对 角 线 英 寸 数 ppi=\sqrt{\frac {长度像素数^2+宽度像素数^2}{屏幕对角线英寸数}} ppi=线2+2

举例:iphone5的ppi计算

1136 p x 2 + 640 p x 2 4 i n = 326 p p i \sqrt{\frac {1136px^2+640px^2}{4in}}=326ppi 4in1136px2+640px2 =326ppi

物理长度单位

in :英寸

pt :物理尺寸,表示一个点,是一英寸的1/72

1 i n = 72 p t 1in=72pt 1in=72pt

1 p t = d p i 72 p x 1pt=\frac {dpi}{72}px 1pt=72dpipx

当photoshop中新建画布的分辨率为72ppi( 即 72dpi时 ), 1pt=1px; 当新建画布分辨率为72*2=144ppi时,1pt=2px

度量单位

px :像素

dp :Density-independent pixels,以160PPI屏幕为标准,则 1 d p = 1 p x 1dp=1px 1dp=1px

d p ∗ p p i 160 = p x \frac{dp*ppi}{160}=px 160dpppi=px

sp :Scale-independent pixels,它是安卓的字体单位,以160PPI屏幕为标准,当字体大小为 100%时, 1 s p = 1 p x 1sp=1px 1sp=1px

sp和px的转换公式:

s p ∗ p p i 160 = p x \frac{sp*ppi}{160}=px 160spppi=px

是不是看起来dp和sp一样,在Android设计原则中,有提到这两个单位,他建议文字的尺寸一律用sp单位,非文字的尺寸一律使用dp单位。例如textSize=“16sp”、layout_width=“60dp”。

为什么要把sp和dp代替px?最简单的原因是他们不会因为ppi的变化而变化,在相同物理尺寸和不同ppi下,他们呈现的高度大小是相同。也就是说更接近物理呈现,而px则不行。

当文字尺寸是“正常”时1sp=1dp,而当文字尺寸是“大”或“超大”时,1sp>1dp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值