【Android】dp-sp-屏幕像素密度

在为视图指定尺寸大小值(通常以像素为单位,有时也用点、毫米或英寸)常见的属性有

  • 文字大小(TextSize):指定设备上显示的文字像素高度
  • 边距(margin):指定视图组件间的距离
  • 内边距(padding):指定视图外边框预期内容的距离

由于Android设备繁多在不同屏幕间进行自动适配的工作量总是很大,Android提供了密度无关的尺寸单位(density-independent dimension unit),使不同屏幕密度的设备上获得童谣的尺寸,减轻了繁琐的装换计算。

屏幕密度(Density)

_定义:_像素密度的字面上的意思为手机屏幕上每英寸内像素的个数。

不同分辨率对应的屏幕密度大致如下:

  • HVGA屏density=160
  • QVGA屏density=120
  • WVGA屏density=240
  • WQVGA屏density=120

dp/dip

为density-independent pixel缩写,意为密度无关像素。1dp单位在设备屏幕上总等于1/160英寸。使用dp/dip的好处是无论屏幕密度如何,总能获得同样的尺寸。

sp

为scale-independent pixel缩写,意为缩放无关像素。它是另一种与密度无关的像素(这一点有点像dp),受用户字体偏好设置的影响,主要用在像素主要用于字体的设置。

sp和dp的区别: Android系统允许用户自定义文字尺寸大小(小、正常、大、超大……),当文字尺寸是“正常”时1sp=1dp=0.00625英寸,而当文字尺寸是“大”或“超大”时,1sp>1dp=0.00625英寸。类似我们在windows里调整字体尺寸以后的效果——窗口大小不变,只有文字大小改变。在编辑xml布局文件设置字体时textSize那一项单位写sp和dp都会编辑通过正常运行,但是会有warning提示,且如上面提到的,在文字尺寸变化时如果采用dp为单位显示上会出现异常。

in

表示英寸,是屏幕的物理尺寸。每英寸等于2.54厘米。
这里需要注意的是一般说到屏幕尺寸是指屏幕对角线的长度

mm

表示毫米,是屏幕的物理尺寸。

pt

表示一个点,是屏幕的一个物理长度,大小始终等于1英寸的1/72。

px

即像素,1px代表屏幕上一个物理的像素点。

  • px和dp换算公式为 p x = ( d e n s i t y / 160 ) d p px = (density/160)dp px=(density/160)dp

注: px单位不被建议使用,在不同设备间会显示差别较大,一般只用来画画分割线什么的……

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值