Android开发中的dp、px、dpi、sp区别和联系

本文介绍了Android开发中常用的尺寸单位dp、px、dpi和sp的区别和联系。dp是一种基于屏幕密度的抽象单位,用于适配不同屏幕;dpi表示像素密度,影响显示效果;sp与dp类似,但会根据用户字体大小偏好缩放,适用于设置字体大小。理解这些概念有助于优化Android应用的界面适配。
摘要由CSDN通过智能技术生成

px   :像素,代表屏幕上的像素点。

dp   :一个基于屏幕密度的抽象单位,如果一个160dpi的屏幕即标准屏幕,那么1dp=1px。长度宽度的数值要使用dp作为单位放入dimens.xml文件中,当dp不能作为适配单位时,就需要使用px。

dip :等同于dp。

dpi :一英寸长的直线上的像素点的数量来评价屏幕的显示效果,即像素密度。不同的设备,dpi值不同,显示效果不同,dpi的值跟设备硬件有关。标准值是160dp。等于px/inch

sp   :同dp相似,但还会根据用户的字体大小偏好来缩放(建议使用sp作为文本的单位,其它用dip。字体大小的数值要使用sp作为单位,也放入dimens.xml文件中

 

理解dp:

    其实dp就是为了使得开发者设置的长度能够根据不同屏幕(分辨率/尺寸也就是dpi)获得不同的像素(px)数量。比如:我将一个控件设置长度为1dp,那么在160dpi上该控件长度为1px,在240dpi的屏幕上该控件的长度为1*240/160=1.5个像素点。也就是说dp会随着不同屏幕而改变控件长度的像素数量。关于dp的官方叙述为当屏幕每英寸有160个像素时(也就是160dpi),dp与px等价的。那如果每英寸240个像素呢?就等于1*240/160=1.5px,即1dp与1.5px等价了。dp最终都要化为像素数量来衡量大小的,因为只有像素数量最直观。dp转px只与屏幕的dpi有关,dp值×(dpi/160dpi)=px当前的像素数目。而假设有一部手机,

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值