转载自:http://blog.youkuaiyun.com/donkor_/article/details/77680042
一、前言
众所周知,Android厂商非常多,各种尺寸的android手机、平板层出不穷。导致了Android生态环境的碎片化现象越来越严重。Google公司为了解决分辨率过多的问题,在Android的开发文档中定义了px、dp、sp,方便开发者适配不同分辨率的Android设备。对于初级程序员来说理解掌握适配的一些基础知识是必须的。
二、基础概念
px : 其实就是像素单位,比如我们通常说的手机分辨列表800*400都是px的单位
dp : 虚拟像素,在不同的像素密度的设备上会自动适配
sp : 同dp相似,还会根据用户的字体大小偏好来缩放
dip: dp的别称
dpi:dpi全称是dots per inch,对角线每英寸的像素点的个数,所以,它的计算公式如下:
比如height和width即为长宽的像素,平方和即为对角线的像素个数,size即我们常说的5寸手机、4寸手机中的5和4,即对角线的长度。
所以,一样是5寸的手机,分辨率越高,dpi越高。分辨率相同,屏幕对角线英寸数越小,dpi越高。
结论:
普通长度用dp作为单位,字体大小使用sp作为单位