android中px,dp,sp的区别与使用方法

android中px,dp,sp的区别与使用方法。

最近又在重头看android视频,不同的是又换了一个人的视频重新学习一次,不过好在还是很有收获,把以前概念不是很清楚的东西终于完整的弄懂了,感觉还是很好。

就比如说这个px,dp,sp,以前只知道这分别代表什么,什么时候该用什么,却不知道这些是为什么要这么用,各自是怎样计算的。

首先px的指的是像素,而什么是像素?像素是最小的成像单元。通常我们说的手机480×320,意思就是整个手机屏幕是由480×320个像素组成,每一行320个像素,每一列480个像素。

这样,在android的UI中设置控件大小的时候,就很清楚了,假如这个控件要占有屏幕一半的宽度,则把它的宽度设置为160px即可。

但是问题又出现了android手机中,不同的手机的屏幕分辨率不同,在一个960×640的手机中,160px将不再是屏幕宽度的一半,所以,又出现了dp的概念。

什么是dp?在这之前应该先介绍什么是dpi。dpi是指单位英寸上的的像素数量。一般说手机屏幕多大,指的是手机屏幕对角线的长度,而dpi的计算方式,就是用对角线上的像素数量,除以对角线的长度

这就要用到勾股定理了,不知道大家还记得吗,哈哈。

dpi=(行的像素数量平方+列的像素数量平方)开根号/屏幕对角线长度

数学符号不好打~~(>_<)~~ 。

那什么是dp?dp是人为定义出的与像素无关的尺寸符号

px=dp×(dpi/160),从这个公式可以看出,px被约掉了,所以dp只与屏幕的尺寸有关系。

所以dp会自动匹配屏幕尺寸,妈妈再也不用担心出现问题,所以在设置控件大小的时候一般都推荐使用dp!

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

sp 与 px 的换算公式:px=sp×dpi/160

所以sp也与像素无关,也会自动匹配屏幕尺寸,而且更重要的一点是,它能够在改变安卓系统字体设置的时候,字体大小也随之改变。

所以,设置安卓app字体大小的时候,一般时候sp作为单位

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值