Android px和dp换算公式

  • Post author:
  • Post category:其他




一、基础概念
  • px : 其实就是像素单位,比如我们通常说的手机分辨列表800*400都是px的单位
  • sp : 同dp相似,还会根据用户的字体大小偏好来缩放
  • dp : 虚拟像素,在不同的像素密度的设备上会自动适配
  • dip: 同dp


二、单位换算

pixel,即像素,1px代表屏幕上的一个物理的像素点。但px单位不被建议使用。因为同样像素大小的图片在不同手机显示的实际大小可能不同。要用到px的情况是需要画1像素表格线或阴影线的时候,如果用其他单位画则会显得模糊。

要理解dp,首先要先引入dpi这个概念,dpi全称是dots per inch,对角线每英寸的像素点的个数,所以,它的计算公式如下:

在这里插入图片描述

比如height和width即为长宽的像素,平方和即为对角线的像素个数,size即我们常说的5寸手机、4寸手机中的5和4,即对角线的长度。

所以,一样是5寸的手机,分辨率越高,dpi越高。分辨率相同,屏幕对角线英寸数越小,dpi越高。

而dp也叫dip,是device independent pixels。设备不依赖像素的一个单位。在不同的像素密度的设备上会自动适配,比如:

在320×480分辨率,像素密度为160,1dp=1px

在480×800分辨率,像素密度为240,1dp=1.5px

计算公式:px = dp * (dpi/160)



版权声明:本文为weixin_42600398原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。