Android手机分辨率基础知识(DPI,DIP计算)

1.术语和概念


术语


说明


备注


Screen size(屏幕尺寸)


指的是手机实际的物理尺寸,比方经常使用的2.8英寸,3.2英寸,3.5英寸,3.7英寸


摩托罗拉milestone手机是3.7英寸


Aspect Ratio(宽高比率)


指的是实际的物理尺寸宽高比率,分为long和nolong


Milestone是16:9,属于long


Resolution(分辨率)


和电脑的分辨率概念一样,指手机屏幕纵、横方向像素个数


Milestone是854*480


DPI(dot per inch)


每英寸像素数,如120dpi,160dpi等,如果QVGA(320*240)分辨率的屏幕物理尺寸是(2英寸*1.5英寸),dpi=160


能够反映屏幕的清晰度,用于缩放UI的


Density(密度)


屏幕里像素值浓度,resolution/Screen size能够反映出手机密度,


Density-independent pixel (dip)


指的是逻辑密度计算单位,dip和详细像素值的相应公式是dip/pixel=dpi值/160,也就是px
= dp * (dpi / 160)

2. DPI值计算

比方:计算WVGA(800*480)分辨率,3.7英寸的密度DPI,如图1所看到的

图1

Diagonal pixel表示对角线的像素值(=),DPI=933/3.7=252

3.手机屏幕的分类

3.1依据手机屏幕密度(DPI)或屏幕尺寸大小分为下面3类,如图2所看到的

图2

3. 2手机屏幕分类和像素密度的相应关系如表1所看到的:


Low density (120), ldpi


Medium density (160), mdpi


High density (240), hdpi


Small screen


QVGA (240x320)


Normal screen


WQVGA400 (240x400)WQVGA432 (240x432)


HVGA (320x480)


WVGA800 (480x800)WVGA854 (480x854)


Large screen


WVGA800* (480x800)WVGA854* (480x854)

表1

3.3手机尺寸分布情况(http://developer.android.com/resources/dashboard/screens.html)如图3所看到的,眼下主要是以分辨率为800*480和854*480的手机用户居多

图3

从以上的屏幕尺寸分布情况上看,事实上手机仅仅要考虑3-4.5寸之间密度为1和1.5的手机

4 UI设计

从开发角度讲,应用程序会依据3类Android手机屏幕提供3套UI布局文件,可是对应界面图标也须要提供3套,如表2所看到的


Icon Type


Standard Asset Sizes (in Pixels), for Generalized Screen Densities


Low density screen (ldpi)


Medium density screen (mdpi)


High density screen (hdpi)


Launcher


36 x 36 px


48 x 48 px


72 x 72 px


Menu


36 x 36 px


48 x 48 px


72 x 72 px


Status Bar


24 x 24 px


32 x 32 px


48 x 48 px


Tab


24 x 24 px


32 x 32 px


48 x 48 px


Dialog


24 x 24 px


32 x 32 px


48 x 48 px


List View


24 x 24 px


32 x 32 px


48 x 48 px

表2

5 怎样做到自适应屏幕大小呢?

1)界面布局方面

须要依据物理尺寸的大小准备5套布局,layout(放一些通用布局xml文件,比方界面中顶部和底部的布局,不会随着屏幕大小变化,类似windos窗体的title bar),layout-small(屏幕尺寸小于3英寸左右的布局),layout-normal(屏幕尺寸小于4.5英寸左右),layout-large(4英寸-7英寸之间),layout-xlarge(7-10英寸之间)

2)图片资源方面

须要依据dpi值准备5套图片资源,drawable,drawalbe-ldpi,drawable-mdpi,drawable-hdpi,drawable-xhdpi

Android有个自己主动匹配机制去选择相应的布局和图片资源

时间: 2024-12-23 08:10:37

Android手机分辨率基础知识(DPI,DIP计算)的相关文章

【转】Android手机分辨率基础知识(DPI,DIP计算)

1.术语和概念 术语 说明 备注 Screen size(屏幕尺寸) 指的是手机实际的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸 摩托罗拉milestone手机是3.7英寸 Aspect Ratio(宽高比率) 指的是实际的物理尺寸宽高比率,分为long和nolong Milestone是16:9,属于long Resolution(分辨率) 和电脑的分辨率概念一样,指手机屏幕纵.横方向像素个数 Milestone是854*480 DPI(dot per inch) 每英

手机分辨率基础知识(DPI,DIP计算)

1.术语和概念 术语 说明 备注 Screen size(屏幕尺寸) 指的是手机实际的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸 摩托罗拉milestone手机是3.7英寸 Aspect Ratio(宽高比率) 指的是实际的物理尺寸宽高比率,分为long和nolong Milestone是16:9,属于long Resolution(分辨率) 和电脑的分辨率概念一样,指手机屏幕纵.横方向像素个数 Milestone是854*480 DPI(dot per inch) 每英

Android屏幕分辨率概念(dp、dip、dpi、sp、px)

1.屏幕尺寸(screen size)就是我们平常讲的手机屏幕大小,是屏幕的对角线长度,一般讲的大小单位都是英寸.比如iPhone5S的屏幕尺寸是4英寸.Samsung Note3是5.7英寸. 2.像素(pixel)想像把屏幕放大再放大,对!看到的那一个个小点或者小方块就是像素了. 3.分辨率(Resolution)是指屏幕上垂直方向和水平方向上的像素个数.比如iPhone5S的分辨率是1136*640:Samsung Note3的分辨率是1920*1080: 4.dpi是dot per in

Android学习之基础知识十六 — Android开发高级技巧的掌握

一.全局获取Context的技巧 前面我们很多地方都使用到了Context,弹出Toast的时候.启动活动的时候.发送广播的时候.操作数据库的时候.使用通知的时候等等.或许目前来说我们并没有为得不到Context而发愁,因为我们很多地方都是在活动中进行的,而活动本身就是一个Context对象,但是,当应用程序的架构逐渐开始复杂起来的时候,很多的逻辑代码都将脱离Activity类,但此时又恰恰需要使用Context,特许这个时候就会感到有些伤脑筋了. 举个例子,在前面网络编程的最佳实践中,我们编写

Android学习之基础知识十四 — Android特色开发之基于位置的服务

一.基于位置的服务简介 LBS:基于位置的服务.随着移动互联网的兴起,这个技术在最近的几年里十分火爆.其实它本身并不是什么时髦的技术,主要的工作原理就是利用无线电通讯网络或GPS等定位方式来确定出移动设备所在的位置,而这种技术早在很多年前就已经出现了. 那么为什么LBS技术直到最近几年才开始流行呢?这主要是因为,在过去移动设备的功能及其有限,即使定位到了设备所在的位置,也就仅仅只是定位到了而已,我们并不能在位置的基础上进行一些其他的操作.而现在就大大不同了,有了Android系统作为载体,我们可

Android学习之基础知识七—碎片的使用

碎片(Fragment)是一种可以嵌入在活动中的UI片断,它能让程序更加合理和充分地利用大屏幕的空间,它与活动相似,可以简单的理解为一个迷你型的活动,它也有自己的生命周期.碎片在平板的应用非常广泛. 一.碎片的简单用法 需求:在一个活动中添加两个碎片,并让这两个碎片平分活动空间. 第一步:由于碎片通常应用在平板开发中,所以先创建一个平板模拟器,然后新建一个Android项目:FragmentTest 第二步:创建左侧.右侧两个碎片布局     第三步:新建一个LeftFragment类继承Fra

Android学习之基础知识八—Android广播机制

一.广播机制简介 Android提供了一套完整的API,允许应用程序自由的发送和接受广播,发送广播借助于我们之前学过的:Intent,而接收广播需要借助于广播接收器(Broadcast Receiver) 广播的类型主要分为两种:标准广播和有序广播. 标准广播:一种完全异步执行的广播,在广播发出之后,所有接收器几乎在同一时刻接收到这条广播消息,因此它们之间没有任何的先后顺序可言,这种广播的效率会比较高,但是同时也意味着它无法被截断的.标准广播的工作流程图如图所示: 有序广播:一种同步执行的广播,

vue.js基础知识篇(3):计算属性、表单控件绑定

第四章:计算属性 为了避免过多的逻辑造成模板的臃肿不堪,可使用计算属性来简化逻辑. 1.什么是计算属性 <!DOCTYPE html> <html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <div id="example"> <

Android自定义控件前导基础知识学习(一)——Canvas

概述: 我们时常会遇到一些需要利用画图来实现的功能.例如一些常见的几何图形--点.直线.弧.圆.椭圆.文字.矩形.多边形.曲线.圆角矩形,总不能遇到 一个几何图形就用图片来代替吧.这样我们的手机肯定会吃不消.就算我们现在能够使用一些少量图片能够来解决当前的一些问题,可是对于那些"变化多端"的需求来说,这些手段根本不值一提.对此,我们可以利用Canvas画图技术来解决.下面就让我们一起来解开Canvas的神秘面纱吧. 示例编程: 1.绘制圆形 首先看一下效果图展示: 实现关键代码: pr