android dp px sp 设计稿 分辨率,Android 学习之像素单位说明(dp/px/sp)

dp(dip)

什么是屏幕点密度(每英寸像素值)及计算公式?

概念:ppi是 Pixel per inch,每英寸像素数,用来表示显示设备的点密度.除此之外还有用来表示印刷品点密度(dpi,每英寸多少点)

计算公式:要计算屏幕点密度首先要确定屏幕的尺寸和分辨率

68747470733a2f2f77696b696d656469612e6f72672f6170692f726573745f76312f6d656469612f6d6174682f72656e6465722f7376672f64333065653039396264383335313631306338373436656562313132386162613565373836623836

其中

68747470733a2f2f77696b696d656469612e6f72672f6170692f726573745f76312f6d656469612f6d6174682f72656e6465722f7376672f35386133656662363835623565366430666135626530306261303163663465333061353634316365为屏幕对角线的分辨率

68747470733a2f2f77696b696d656469612e6f72672f6170692f726573745f76312f6d656469612f6d6174682f72656e6465722f7376672f30383465616366326362633435383533616331363932353565363233336637393838616539313630为屏幕横向分辨率

68747470733a2f2f77696b696d656469612e6f72672f6170692f726573745f76312f6d656469612f6d6174682f72656e6465722f7376672f30626663613036353939373363653030626433303139393832393039396633333332653538306436为屏幕纵向分辨率

68747470733a2f2f77696b696d656469612e6f72672f6170692f726573745f76312f6d656469612f6d6174682f72656e6465722f7376672f61626533313534646237643466393266623432646431663830663532663532386336333132653461为屏幕对角线的长度(单位为英寸)

以屏幕尺寸为4寸的iPhone 5为例,分辨率为1136x640,像素密度为326PPI。而分辨率为1920x1080的家用21.5寸显示器,像素密度为103PP

什么是dp及计算公式?

概念:dp一种基于屏幕密度的抽象单位。在每英寸160点(即屏幕点密度为160ppi)的显示器上,1dp = 1px。 是安卓为了方便适配不同屏幕而设置的单位.

计算公式:要计算某设备1dp等于多少px,需要知道设备的ppi

px=1dp*(ppi/160)

以一4.3寸屏幕手机为例,其分辨率480x800,那么其ppi=217,1dp=217/160=1.4px

以一4.3寸屏幕手机为例,其分辨率720x1280,那么其ppi=342,1dp=2.1px

以一5.5寸屏幕手机为例,其分辨率720x1280,那么其ppi=267,1dp=1.7px

如果同一张的图片,在上面3部手机上显示,其效果是这样的.

771b471ba8e114ba049683ba9ea556b2.png

可以想象一下我们不同的手机打开同一个应用,按钮的尺寸相差很大。

图片显示大小是由什么决定的呢,屏幕尺寸?上图第1和第2个屏都是4.3英寸。像素数?第2和第3个屏都是720x1280的像素。其实是由ppi决定的,对比上图可以知道,ppi越低图片显示的越大,ppi越高图片显示的越小。

要让不同屏幕显示图片的大小相同,就需要对图片进行缩放,给高ppi屏提供更大的图片。(也就是说在低ppi屏我用10像素显示的线,在高ppi屏可能用20像素来显示这条线,才使这条线在两个屏幕看起来一样)

9877930946b9a22e5f2f9246f3869dee.png

高ppi屏幕需要更大的图片才能得到同样的显示效果,反之亦然。ppi和图片px的关系如下

px1/px2=ppi1/ppi2

选定一个ppi值作为基础绘制图片,用ppi的比值计算出图片缩放比例就可以适配各种屏幕,安卓选定的这个基础值就是160ppi

我们需要一个统一的单位来描述这个比值,这就是dp,高ppi下1dp表示的像素也越大

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值