android UI中常用的几个概念:dp,dip,dpi,sp,px,pt,ppi及它们之间的关联
来源:互联网 发布:关于51单片机与esp8266 编辑:程序博客网 时间:2024/05/21 10:11
当前安卓手机、平板间屏幕尺寸多种多样,4.5、4.7、5.0、5.15、5.2、5.5、5.7、6.0、6.4。。。一言以蔽之,
不要太多。
这时屏幕间适配就凸显出重要性了,而本文主旨就是为了理顺这些关系并加以适当总结,以便以后开发起来在这方面
的处理
更加得心应手。当然写这篇博文时,笔者还借鉴了一些比较不错的博客,后面会附上相应链接地址,尊重别人的劳动成果嘛~
下面先解释标题上的几个定义:
dp/dip: density-independent pixel,设备独立像素,与设备屏幕有关,是android开发中常用的长度单位;
dpi: dot per inch,屏幕像素密度,每英寸多少个点,值越大,显示越清晰;
sp: scale pixels,android中常用的字体大小单位;
px: pixel,像素,就是代表屏幕上实际的一个个像素点;
pt: point,点,1pt=1/72(inch)。
以下是几个换算关系:
1、pt和px
公式一: 1pt= (DPI / 72) px
当photoshop中新建画布的分辨率为72ppi( 即 72dpi时 ), 1pt=1px; 当新建画布分辨率为72*2=144ppi时,1pt=2px
2、ppi和dpi
dpi最初用于衡量打印物上每英寸的点数密度。DPI值越小图片越不精细。当DPI的概念用在计算机屏幕上时,就应称之为ppi。同理: PPI就是计算机屏幕上每英寸可以显示的像素点的数量。因此,在电子屏幕显示中提到的ppi和dpi是一样的,可认为
公式二:dpi=ppi
3、ppi计算方法
ppi是指屏幕上的像素密度,其计算方法为:
公式三: ppi= 屏幕对角线上的像素点数/对角线长度 = √ (屏幕横向像素点^2 + 屏幕纵向像素点^2)/对角线长度
以小米2s为例,该屏幕分辨率为720px*1280px,4.3英寸。则点密度为 √ (720^2 +1280^2) /4.3 = 342ppi。
4、px和dp
dp为安卓开发时的长度单位,根据不同的屏幕分辨率,与px有不同的对应关系。
安卓端屏幕大小各不相同,根据其像素密度,分为以下几种规格:
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。其他类推(当前手机的主流分辨率为1080*1920,所以我们可以记住这样一个换算公式:1dp = 3px)。
补充:调用以下方法可以获得屏幕分辨率,注意单位为px。
int width = getWindowManager().getDefaultDisplay().getWidth();int height = getWindowManager().getDefaultDisplay().getHeight();
公式四: 1dp=(屏幕ppi/ 160)px
以WVGA屏为例,该屏幕为480px*800px,按3.8寸屏算,点密度 √ (480^2 + 800^2) / 3.8 = 245,约等于240,对应于hdpi屏幕,所以该屏幕1dp=1.5px
5、dp和sp
dp和sp都是安卓的开发单位,dp是长度单位,sp是字体单位。sp与dp类似,但是可以根据用户的字体大小首选项进行缩放。Android系统允许用户自定义文字尺寸大小(小、正常、大、超大等等),
公式五:当文字尺寸是“正常”时1sp=1dp,而当文字尺寸是“大”或“超大”时,1sp>1dp。
一般情况下可认为sp=dp。
总结:由于做设计时以xhdpi为模板,xhdpi条件下,1dp=2px。若新建画布时,将画布分辨率设为144ppi,则1pt=2px=1dp。此时,即可将pt等同于dp。标注长度的时候,将长度像素除以2即为dp值。
PS:在photoshop cc中切图时,可直接在.png 图片图层名称前加上200%获得2倍大小的图,其他比例的切图以此类推。输出的两倍图不模糊的前提是,该图是photoshop中用形状工具画出来的未被栅格化的图形,而不是已被栅格化的图层或外部导入的图片。
下面是参考的博文链接:http://www.woshipm.com/pmd/176328.html
- android UI中常用的几个概念:dp,dip,dpi,sp,px,pt,ppi及它们之间的关联
- UI设计中px、pt、ppi、dpi、dp、sp之间的关系
- UI设计中px、pt、ppi、dpi、dp、sp之间的关系
- Android中dp、dip、dpi、ppi、px、sp的区别
- Android中px, ppi, dpi, dp, dip, sp概念解析
- px、pt、ppi、dpi、dp、sp之间的关系
- px、pt、ppi、dpi、dp、sp之间的关系
- px、pt、ppi、dpi、dp、sp之间的关系
- android ui的几个概念:px,dip(dp),sp,dpi,分辨率等
- android ui的几个概念:px,dip(dp),sp,dpi,分辨率等
- android ui的几个概念:px,dip(dp),sp,dpi,分辨率等
- android ui的几个概念:px,dip(dp),sp,dpi,分辨率等
- android ui的几个概念:px,dip(dp),sp,dpi,分辨率等
- android ui的几个概念:px,dip(dp),sp,dpi,分辨率等
- android ui的几个概念:px,dip(dp),sp,dpi,分辨率等
- android ui的几个概念:px,dip(dp),sp,dpi,分辨率等
- android UI的几个概念:px,dip(dp),sp,dpi,分辨率等
- android ui的几个概念:px,dip(dp),sp,dpi,分辨率等
- Android Studio 优秀插件汇总
- 我的Android之旅(十七)---raw和assets目录--数据的存取
- BZOJ 2303 数学分析+并查集
- opencv之convexHull()用法
- G.Hinton Dark Knowledge
- android UI中常用的几个概念:dp,dip,dpi,sp,px,pt,ppi及它们之间的关联
- 深入理解Java的接口和抽象类
- QT类继承关系图
- CF#333(Div2) C. The Two Routes(最短路)
- i = i++
- Bootstrap入门基础(三)
- javascript的window.ActiveXObject对象,区别浏览器的方法
- 第七章.复用类 初始化和类的加载 总结
- 拍照上传、相册获取逻辑实现