发布网友
共3个回答
热心网友
Android中,dp是Density-independent Pixels简写,而dip则是Density Independent Pixels,实际上指的是一个概念,都是Android的单位。
dp等同于dip,它是一个长度单位,1dp=1/160英寸。
dp这个单位的意义在于:你可以根据看到的实际大小,在应用中设置对应的dp值,而使得不同的设备上看起来一样大。
详情请见:http://blog.csdn.net/chenyufei1013/article/details/8363619
热心网友
dp: Density-independent Pixels
一个抽象的单元,基于屏幕的物理密度。
(dp和dip的意义相同,所以不用区别对待)。
这些单元是相对于160dpi(dots per inch)的屏幕说的,在160dpi的屏幕上,1dp粗略地等于1px。
当运行在更高密度的屏幕上的时候,要绘制1dp的像素数量会放大一个比例,这个比例就是和屏幕密度(dpi)相关。
类似的,在一个低密度的屏幕上,像素数目会缩小一个比例。
dp到px的这个比例将会随着屏幕的密度变化,而不是直接的比例关系。
用dp单位,而不是px,是一种简单的屏幕密度适配解决方式。
换句话说,它提供了一种方式,可以在多种设备上维持真实尺寸一致性。
sp:Scale-independent Pixels
这个有点像dp单位,但是它也根据用户的字体设置(font preference)缩放尺寸。
建议用这种尺寸单位来标注字体尺寸,这样它们将会因为屏幕密度和用户设定而调整。
pt:Points 1/72 inch(英寸),根据屏幕的物理尺寸。
px: Pixels
相应于真实的像素。
这种单位不被建议,因为真实的表达会根据设备的不同相差很远。
每个设备上每英寸的像素数不同(密度不同),并且屏幕上总的像素数也不同(整体大小不同)。
热心网友
dp(dip)是可以理解为长度单位长为1/160英寸,Sp在dip的基础上相关了使用者的偏好(当字体大小设置为标准是1dip=1sp,当字体大小为标准的n倍时1sp=ndip)。