【Android】屏幕尺寸的表示
1. 单位
- px(pixel): 普通的像素点描述,位图中的一个颜色点(RGBA或者YUV)
- dip(device independent pixels): 设备独立像素。
- dp: 与dip一样。
- pt(point): 标准长度单位。1pt = 1.0 / 72 (in)。
- sp(scaled pixel): 用于字体显示。
- in(inch): 英寸
- mm(millimeter): 毫米
2. 屏幕密度
| 屏幕类型 | 宽度(pixels) | 高度(pixels) | 尺寸(inches) | 屏幕密度 |
| QVGA | 240 | 320 | 2.6 - 3.0 | low |
| WQVGA | 240 | 400 | 3.2 - 3.5 | low |
| FWQVGA | 240 | 432 | 3.5 - 3.8 | low |
| HVGA | 320 | 480 | 3.0 - 3.5 | medium |
| WVGA | 480 | 800 | 3.3 - 4.0 | high |
| FWVGA | 480 | 854 | 3.5 - 4.0 | high |
| WVGA | 480 | 800 | 4.8 - 5.5 | medium |
| FWVGA | 480 | 854 | 5.0 - 5.8 | medium |
默认屏幕密度:low = 120; medium = 160; high = 240
3. 屏幕单位的换算
/frameworks/base/core/java/android/util/TypedValue.java
303 /**
304 * Converts an unpacked complex data value holding a dimension to its final floating
305 * point value. The two parameters <var>unit</var> and <var>value</var>
306 * are as in {@link #TYPE_DIMENSION}.
307 *
308 * @param unit The unit to convert from.
309 * @param value The value to apply the unit to.
310 * @param metrics Current display metrics to use in the conversion --
311 * supplies display density and scaling information.
312 *
313 * @return The complex floating point value multiplied by the appropriate
314 * metrics depending on its unit.
315 */
316 public static float applyDimension(int unit, float value,
317 DisplayMetrics metrics)
318 {
319 switch (unit) {
320 case COMPLEX_UNIT_PX:
321 return value;
322 case COMPLEX_UNIT_DIP:
323 return value * metrics.density;
324 case COMPLEX_UNIT_SP:
325 return value * metrics.scaledDensity;
326 case COMPLEX_UNIT_PT:
327 return value * metrics.xdpi * (1.0f/72);
328 case COMPLEX_UNIT_IN:
329 return value * metrics.xdpi;
330 case COMPLEX_UNIT_MM:
331 return value * metrics.xdpi * (1.0f/25.4f);
332 }
333 return 0;
334 } /frameworks/base/core/java/android/util/DisplayMetrics.java
public static final int DENSITY_LOW = 120;
public static final int DENSITY_MEDIUM = 160;
public static final int DENSITY_TV = 213;
public static final int DENSITY_HIGH = 240;
public static final int DENSITY_XHIGH = 320;
public static final int DENSITY_400 = 400;
public static final int DENSITY_XXHIGH = 480;
public static final int DENSITY_560 = 560;
public static final int DENSITY_XXXHIGH = 640;
public static final int DENSITY_DEFAULT = DENSITY_MEDIUM;
public static final float DENSITY_DEFAULT_SCALE = 1.0f / DENSITY_DEFAULT; public static int DENSITY_DEVICE = getDeviceDensity();
density = DENSITY_DEVICE / (float) DENSITY_DEFAULT; px = dip * density = dip * DENSITY_DEVICE / DENSITY_DEFAULT.
【Android】屏幕尺寸的表示的更多相关文章
- 获取Android屏幕尺寸、控件尺寸、状态栏/通知栏高度、导航栏高度
1.获取Android屏幕尺寸 我们能够通过getSize()方法获得屏幕的尺寸 Display display = getWindowManager().getDefaultDisplay(); P ...
- android 屏幕尺寸的理解
对android设备屏幕尺寸单位的理解 一.android移动设备(手机和平板)常用的关于屏幕的一些单位: 1.px:像素点,应该是一个统一的单位,与我们国际单位米(M)应该是一回事,它应该是屏幕尺寸 ...
- Android屏幕尺寸单位转换
最近在看Android群英传这本书,书中有一节涉及到了,屏幕尺寸与单位.觉得以后可能会用到,做个笔记. PPI(pixels per inch) ,又称为DPI,它是由对角线的像素点数除以屏幕的大小得 ...
- Android屏幕尺寸适配注意事项
1 基本设置 1.1 AndroidManifest.xml设置 在中添加子元素 android:anyDensity="true"时,应用程序安装在不同密度的终端上时,程序会分别 ...
- Android屏幕尺寸与度量单位(px,dp,sp)简介
MarkdownPad Document *:first-child { margin-top: 0 !important; } body>*:last-child { margin-botto ...
- Android 屏幕尺寸知识
转自:http://www.zcool.com.cn/article/ZNjI3NDQ=.html 1.了解几个概念 (1)分辨率.分辨率就是手机屏幕的像素点数,一般描述成屏幕的“宽×高”,安卓手机屏 ...
- Android屏幕适配全攻略(最权威的官方适配指导)屏幕尺寸 屏幕分辨率 屏幕像素密度 dpdipdpisppx mdpihdpixdpixxdpi
Android屏幕适配全攻略(最权威的官方适配指导)原创赵凯强 发布于2015-05-19 11:34:17 阅读数 153734 收藏展开 转载请注明出处:http://blog.csdn.net/ ...
- 【收藏】Android屏幕适配全攻略(最权威的Google官方适配指导)
来源:http://blog.csdn.net/zhaokaiqiang1992 更多:Android AutoLayout全新的适配方式, 堪称适配终结者 Android的屏幕适配一直以来都在折磨着 ...
- Android屏幕适配全攻略(最权威的官方适配指导)(转),共大家分享。
Android的屏幕适配一直以来都在折磨着我们这些开发者,本篇文章以Google的官方文档为基础,全面而深入的讲解了Android屏幕适配的原因.重要概念.解决方案及最佳实践,我相信如果你能认真的学习 ...
- Android屏幕适配全攻略(最权威的官方适配指导) (转)
招聘信息: Cocos2d-X 前端主程 [新浪微博]手机客户端iOS研发工程师 20k-40k iOS 开发工程师 iOS高级开发工程师(中国排名第一的企业级移动互联网云计算公司 和创科技 红圈营销 ...
随机推荐
- 使用nginx 的反向代理 给 kibana加上basic的身份认证
第一步准备工作 准备用户名密码: 更改host文件 第二步,安装nginx ubuntu安装Nginx之后的文件结构大致为:所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/et ...
- Fiddler工具的界面说明
1.Fiddler界面说明 2.session的模块说明 包含部分如下: 注:标蓝色区域的内容为平时较常用的部分 3.session不同图标和不同颜色的含义 默认颜色的含义如下: 部分图标的含义如下: ...
- 两个input均分自适应
最近项目中,做到了表格类似的表单 左边是标题,右边是输入框,由于种种和项目相关原因,我们采取了div布局 div label input*2div里面有1个input,有的时候,遇到日期,会有2个in ...
- icon图标和文字整体居中在button按钮
icon图标和文字整体居中在button按钮 icon图标和文字整体居中 一般我们常做的button按钮是文字居中 现在这个需要icon图标和文字一起居中在背景色 <a href="# ...
- 采用集成的Windows验证和使用Sql Server身份验证进行数据库的登录
采用集成的Windows验证和使用Sql Server身份验证进行数据库的登录 1.集成的Windows身份验证语法范例 1 string constr = "server=.;databa ...
- 【.Net边角料系列】1-单例模式(我真不是你想的那样)
什么事边角料? 边角料就是你编程的时候,很少能够用上,或者说你压根就不知道得东西,我就称这些东西为边角料.这个叫.net边角料可能有点大,其实这个系列是纯粹的C#边角料系列. 为什么写.net边角料呢 ...
- 用vue官方提供的模板vue-cli搭建一个helloWorld案例
安装环境 安装node.js并配置环境变量 安装淘宝镜像,npm install -g cnpm --registry=https://registry.npm.taobao.org 安装webpac ...
- ArrayList排序算法的源码
ArrayList,排序方法的调用过程 // 排序方法 public void sort(Comparator<? super E> c) { final int expectedModC ...
- css样式中如何设置中文字体?
代码如下: .selector{ font-family: SimHei,"微软雅黑",sans-serif; } 注意:加上中文名“微软雅黑”是为了兼容opera浏览器,中文字 ...
- Java与算法之(6) - 八皇后问题
在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行.同一列或同一斜线上,问有多少种摆法. (文字和图片来自百度百科) 如果动手来摆放皇后,可以用这样一种思路:在最左侧 ...