dpi与dp的关系_px、dp、dip、dpi、sp 等到底有什么联系区别?

本文解析了Android系统中dpi模式及其对布局单位dp、sp的影响。介绍了不同分辨率设备如HVGA、WVGA在不同dpi模式下(dp与px转换比例)的设计与开发适配技巧。

px是像素,同时也是手机屏幕上所显示的(也不解释)

dp是开发写layout的时候使用的尺寸单位

sp是开发写layout时关于字体的字号单位,且dp与sp总为1:1关系。

Android支持四种不同的dpi模式:ldpi mdpi hdpi xhdpi

一般地,手机分辨率与所运行的dpi模式是匹配的,例如hvga(320x480像素)的手机屏幕一般在3.5英寸左右,运行在mdpi模式下(这个是ROM控制的,app不能改变)。当运行在mdpi下时,1dp=1px,也就是说设计师在PS里定义一个item高48px,开发就会定义该item高48dp;Photoshop中14px大的字体,开发会定义为14sp。

对于一部wvga(480x800)手机,一般是运行在hdpi模式下。当运行在hdpi模式下时,1dp=1.5px:也就是说设计师在PS里定义一个item高72px,开发就会定义该item高48dp;Photoshop中21px大的字体,开发会定义为14sp。

所以,当你的app需要适配多个dpi模式的时候(例如同时适配mdpi与hdpi),若你在wvga下做设计,你需要将你的各数值都为3的倍数,并在切图标注时将所有的数字除以3乘以2换算成dp,这样开发的同一套layout就能用在两个不同的dpi模式下,而不是写两套layout。

mdpi与hdpi是2:3的关系

mdpi与xhdpi是1:2的关系

ldpi与mdpi是3:4的关系

注解:

VGA : 是Video Graphics Array的缩写,视频图形阵列的意思,这里泛指分辨率为640*480的设备

HVGA : 是Half-size VGA的缩写, 即VGA的一半,分辨率为480*320(3:2宽高比)得设备

WVGA :是Wide VGA的缩写,分辨率为480*800的设备

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值