android计算手机的分辨率/像素/密度/屏幕尺寸/DPI值的方法
2016-04-12 10:30
489 查看
手机分辨率基础知识(DPI,DIP计算)
1.术语和概念
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所示:
标准公式:
dpi = 对角线px/对角线尺寸[屏幕尺寸]
dp/px = dpi/160;
无数的Android设备的像数密度各不相同,分布为100dpi到480dpi以上。为那些不同密度的屏幕优化图片,就必须创建不同分辨率的图片。然 而,尝试为所有的像数密度优化所有的图片资源将会使是让人无法想象的无聊乏味,同时引起应用程序大小变的臃肿,简单的方法是不可行的。作为折衷方 案,Android用密度级别的概念把拥有确定密度范围的设备分类。这样应用程序只需要针对每个密度级别来优化图片,而不是针对所有可能的像素密度来优 化。这使得设计者和开发者的工作负担是合理的,时阻止了应用程序大小的膨胀。当然,代价就是:不同像素密度的设备上图片渲染后的物理尺寸是大小不一的,这
点将会在后面介绍。
大家也可以参考:
http://blog.csdn.net/jiangwei0910410003/article/details/40509571 http://www.educity.cn/wenda/177897.html http://www.jb51.net/article/33238.htm
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) |
比如:计算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) |
dpi = 对角线px/对角线尺寸[屏幕尺寸]
dp/px = dpi/160;
密度级别
无数的Android设备的像数密度各不相同,分布为100dpi到480dpi以上。为那些不同密度的屏幕优化图片,就必须创建不同分辨率的图片。然 而,尝试为所有的像数密度优化所有的图片资源将会使是让人无法想象的无聊乏味,同时引起应用程序大小变的臃肿,简单的方法是不可行的。作为折衷方 案,Android用密度级别的概念把拥有确定密度范围的设备分类。这样应用程序只需要针对每个密度级别来优化图片,而不是针对所有可能的像素密度来优 化。这使得设计者和开发者的工作负担是合理的,时阻止了应用程序大小的膨胀。当然,代价就是:不同像素密度的设备上图片渲染后的物理尺寸是大小不一的,这点将会在后面介绍。
大家也可以参考:
http://blog.csdn.net/jiangwei0910410003/article/details/40509571 http://www.educity.cn/wenda/177897.html http://www.jb51.net/article/33238.htm
相关文章推荐
- Android最佳性能实践(二)——分析内存的使用情况
- Android中的消息机制
- android ViewHolder模式超简洁写法
- Android开发中遇到的问题集合(一)
- Android - Parcel & Parcelable
- Android Studio调试方法学习笔记
- 国内Android资源
- Android创建一个Activity的方法分析
- mac平台打造犀利的Android Studio开发环境
- Android 混淆打包
- seandroid 如何添加被denied的权限
- Android开发中,那些让你相见恨晚的方法、类或接口
- android基础学习之有没有标签基础设置
- Android Studio配置
- Android NDK 编程之环境搭建
- 用注解来省略findViewById
- Android Studio 显示行号
- Android 返回键的处理
- 处女男学Android(七)---Android 应用资源之StateListDrawable
- Android内存分析工具