android 文字大小 dp,Android面试题3–常用单位dp、sp、in、dpi…

Android常用单位:

1.in(英寸)屏幕尺寸:

指实际的物理尺寸,为屏幕对角线的测量。一般讲的大小单位都是英寸,比如iPhone7的屏幕尺寸是4.7英寸。

57344ef689477e9ab4bbadf0a34f19c5.png

2.px像素(pixel):

屏幕上的点,基本原色素及其灰度的基本编码。

1dfdbbb5d6556ced390eba696634f4fc.png

3.分辨率(Resolution):

是指屏幕上垂直方向和水平方向上的像素个数。(比如iPhone7的分辨率是1334*750)

d6bd641e8919f87903839e1de4c97fc2.png

4.dpi(dot per inch):

就是每英寸的像素数,也叫做屏幕密度。这个值越大,屏幕就越清晰。

Inch是一个物理单位(无论在任何设备上,其大小都是固定的),所以DPI就指在一个Inch的物理长度内有多少个Dot,160DPI的屏幕就表示一个Inch包含160个Dot,320DPI的屏幕表示一个Inch有320个Dot,所以说Dot的大小是不固定的。

Android设备用DPI来表示屏幕密度(Density),屏幕密度大就表示一个Inch包含的Dot比较多。那PPI是什么呢?我们会经常看到iPad、iPhone是用PPI来表示屏幕密度,小米Pad也是用PPI来表示。

其实对Android而言,DPI等价于PPI(Pixels-Per-Inch),DPI最早是用于印刷行业,跟PPI还是有本质不同的,Android应该是误用了DPI这个概念。具体可以参考PPI vs. DPI: what’s the difference?。

其实我们只要知道在Android设备中,DPI 等价于 PPI 就可以了。

d2870251b77ee4fe776c672813622b41.png

PPI 定义

通常我们说一个设备是多少寸时,指的是屏幕对角线(Diagonal)是多少inch,所以用对角线的像素值(px)除以对角线长度(inch),就可以计算出PPI。

0850501181fd564a7cd08050210b7832.png

为了简化适配工作,Android根据屏幕大小(Inch)和屏幕密度(DPI)对设备做了如下划分:

97440427faf79c2eed114c7c08bfe404.png

目前Android项目中的res下的图片目录对应

6ac3a57360b87590c137f1b9dc5231ae.png

5. dp=dip ,device independent pixels(设备独立像素):

一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp = 1px。

这个单位的引入就是为了解决那么多不同分辨率、不同大小的屏幕,使用PX必然会导致适配困难,为了进一步简化适配工作,Android为我们提供了一个虚拟的像素单位。

PX跟DP之间的换算关系很简单

px = dp * (dpi / 160)

为了保证图片在所有设备上的物理大小都一样,高DPI的设备上系统会拉伸图片,低DPI的设备上图片会被缩小,这样既会影响UE也会影响APP的执行效率。所以我们需要为不同屏幕密度的设备提供不同的图片,他们之间的对应关系如下。

16b7ebb973e592ffda551837c148d6b6.png

6. sp(Scale-independent pixels):

它是安卓的字体单位,以160PPI屏幕为标准,当字体大小为 100%时,1sp=1px。

其概念与DP是一致的,也是为了保持设备无关。因为Android用户可以根据喜好来调整字体大小,所以要使用sp来表示字体大小。

d0ea99c2a2d52b48cbb8a92b2d3ec9e5.png

Android系统允许用户自定义文字尺寸大小(小、正常、大、超大等等),当文字尺寸是“正常”时1sp=1dp=0.00625英寸,而当文字尺寸是“大”或“超大”时,1sp>1dp=0.00625英寸。类似我们在windows里调整字体尺寸以后的效果——窗口大小不变,只有文字大小改变。

其他附图:

759da80f480ae666065d029b62fdd0f7.png

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值