Android中 dp,px,dpi三者之间的关系
2014-07-07 09:40
387 查看
Android中 dp,px,dpi三者之间的关系
首先弄明白三个概念dp/dip(Density-independentpixel ) 设备独立像素(是一个关联Density和pixel的虚拟像素单位)dpi (dots per inch) 每英寸的像素的数量(每英寸等于2.54厘米 .通常说的屏幕尺寸是屏幕的对角线长度)px (pixels)像素 屏幕实际的像素,不同设备显示效果相同。例如,320*480的屏幕在横向有320个象素,在纵向有480个象素。Android系统定义了四种像素密度:低(120dpi)、中(160dpi)、高(240dpi)和超高(320dpi)
在程序运行时,系统根据屏幕的实际密度透明的处理任何需要缩放的设备独立像素单元,设备独立像素转换成屏幕实际像素的换算很简单:px
= dp * (dpi/ 160). pixls=160*(320/160)对这个公式解释:
例如:屏幕的物理尺寸为1.5英寸x2英寸,屏幕分辨率为240x320,则我们可以计算出在这部手机的屏幕上,每英寸包含的像素点的数量为240/1.5=160dpi(横向)或320/2=160dpi(纵向),Android API 说,如果屏幕密度为160,这时dp和px是一样的。1dp=1px; 例如 有一张定义为“100dp”的图片,在像素密度中(160dpi,也就是说240*320)手机上实际显示100px,如果你换成高(240dpi)上,那么就会显示 240/160 *100=150px
如果你把图片定义为 “100px”,在像素密度中(160dpi)显示是一样的,如果换高(240dpi),它每英寸放的像素的数量多,只用图片长度的一半就把一张图片放下了,看起来就短了一半,所以通常用dp附加API:
The density-independent pixel is equivalent to one physical pixel on a 160 dpi screen, which is the baseline density assumed by the system for a "medium" density screen.
总结:drawable-xhdpi 1dp=2px drawable-hdpi 1dp=1.5px drawable-mdpi 1dp=1px drawable-ldpi 1dp=0.75px
sp:与缩放无关的抽象像素(Scale-independent Pixel)。sp和dp很类似但唯一的区别是,Android系统允许用户自定义文字尺寸大小(小、正常、大、超大等等),当文字尺寸是“正常”时1sp=1dp=0.00625英寸,而当文字尺寸是“大”或“超大”时,1sp>1dp=0.00625英寸。类似我们在windows里调整字体尺寸以后的效果——窗口大小不变,只有文字大小改变。
原文链接:http://www.eyeandroid.com/thread-14341-1-15.html
相关文章推荐
- Android中 dp,px,dpi三者之间的关系
- 移动开发:Android中 dp,px,dpi三者之间的关系
- Android中 dp,px,dpi三者之间的关系
- Android中 dp,px,dpi三者之间的关系
- Android中 dp,px,dpi三者之间的关系
- Android 各像素单位之间的关系 dp/dip px dpi
- 形象讲解Android中dpi,dp和px之间的关系(设计师如何与程序员沟通)
- Android dip dp px dpi之间的关系
- android px、dp以及dpi关系的深入理解
- Android中px,pt,dp,sp,dpi之间的区别以及联系
- UI设计中px、pt、ppi、dpi、dp、sp之间的关系
- android - px(像素)、dpi(像素密度)、dip(密度无关像素)之间的关系
- 扒一扒那些px、pt、ppi、dpi、dp、sp之间的关系
- Android屏幕适配 px,dp,dpi及density的关系与深入理解
- Android中分辨率,DPI,DP与PX对应关系
- android UI中常用的几个概念:dp,dip,dpi,sp,px,pt,ppi及它们之间的关联
- Android中dpi,dp(dip),px关系,与计算公式
- Android的px,dpi,dip三者的关系详解
- UI设计中px、pt、ppi、dpi、dp、sp之间的关系
- px、pt、ppi、dpi、dp、sp之间的关系