1.px (pixels)像素 – 是像素,就是屏幕上实际的像素点单位。
2.dp (device independent pixels)设备独立像素,与设备屏幕有关。
3.dip与dp是同一个概念。
4.sp (scaled pixels — best for text size):类似dp, 主要处理字体的大小。由于是放大像素,主要是用于字体显示,由此根据google的建议,TextView的字体大小最好用sp做单位。
5.dpi(dot per inch):屏幕像素密度,每英寸多少像素
6.density:density表示每英寸有多少个显示点(逻辑值),它的单位是dpi
dp是与密度无关,sp除了与密度无关外,还与scale无关。如果屏幕密度为160,这时dp和sp和px是一样的。1dp=1sp=1px,但如果使用px作单位,如果屏幕大小不变(假设还是3.2寸),而屏幕密度变成了320。那么原来TextView的宽度设成160px,在密度为320的3.2寸屏幕里看要比在密度为160的3.2寸屏幕上看短了一半。但如果设置成160dp或160sp的话。系统会自动将width属性值设置成320px的。也就是160 * 320 / 160。其中320 / 160可称为密度比例因子。也就是说,如果使用dp和sp,系统会根据屏幕密度的变化自动进行转换。
7.dip值 =(dpi值/160)* pixel值
在160dpi上该控件长度为1px,在240dpi的屏幕上该控件的长度为1*240/160=1.5个像素点
8.像素密度和分辨率是两个不同的概念,分辨率是总的像素点,像素密度是单位长度的像素点
1dp定义为屏幕密度值为160ppi时的1px,即,在mdpi时,1dp = 1px。 以mdpi为标准,这些屏幕的密度值比为:ldpi : mdpi : hdpi : xhdpi : xxhdpi = 0.75 : 1 : 1.5 : 2 : 3;即,在xhdpi的密度下,1dp=2px;在hdpi情况下,1dp=1.5px。其他类推。