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

原文:http://blog.csdn.net/moruite/article/details/6028547

 

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


 

 

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

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

时间: 2024-08-13 10:33:04

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

Android手机UI设计分辨率基础知识

1.术语和概念 Android手机ui设计分辨率基础知识 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

《Python算法教程》——第2章 基础知识 2.1 计算领域中一些核心理念

第2章 基础知识 Tracey:我不知道您在哪里. Zoe:隐身术就是这样--您应该听说过的. Tracey:我可不认为这属于基础知识. --选自<Firefly>第14集台词 在我们将注意力转向本书主体内容,也就是那些数学技术.算法设计原则及经典算法之前,还必须先了解一些最基本的技术与原则.因为当您阅读到后续章节时,至少应该非常清楚类似"无反向环路的加权有向图"以及"Θ(n lg n)运行时间"这些词句所表达的具体含义.同时,我们也理应要对Python

《Java和Android开发实战详解》——1.1节编程语言基础知识

1.1编程语言基础知识 Java和Android开发实战详解 "编程语言"(Programming Language)是人类告诉计算机如何工作的一款语言,如同人与人之间沟通使用自然语言,编程语言被设计用于人类与计算机之间进行沟通.从技术角度来说,编程语言就是一款将执行指令传达给计算机的标准通信技术. 1.1.1 程序.软件与应用程序 在说明编程语言之前,我们需要了解什么是程序.软件与应用程序.简单地说来,编程语言提供了语法,可以让我们编写程序代码来建立程序,程序经编译建立成应用程序后,

【Xamarin开发 Android 系列 4】 Android 基础知识

原文:[Xamarin开发 Android 系列 4] Android 基础知识 什么是Android?   Android一词的本义指"机器人",同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统.中间件.用户界面和应用软件组成,而且不存在任何以往阻碍移动产业创新的专有权障碍,号称是首个为移动终端打造的真正开放和完整的移动软件. Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备.目前尚未有统一中文

Android学习笔记(二)基础知识(1)

更改文字颜色 文字色: TextView.setTextColor(Color.***); 背景色: Resources resources = getBaseContext().getResources(); Drawable HippoDrawable = resources.getDrawable(R.drawable.white); TextView.setBackgroundDrawable(HippoDrawable);   获取手机分辨率 import android.util.D

android开发-关于android手机中的尺寸和dpi,dp的换算问题?

问题描述 关于android手机中的尺寸和dpi,dp的换算问题? 以小米2s为例,dpi是320,即密度指数是2,屏幕是4.3英寸,分辨率是1280*720, 我这么算都不对,根据分辨率和dpi,长宽应该是4*2.25英寸才对,然后勾股定理,应该是4.589英寸的屏幕,但是官方标的是4.3.是哪里算的不对? 解决方案 这么没有回答的,是不是厂家不准呢

《Android游戏开发详解》一2.8 对象的基础知识

2.8 对象的基础知识 Android游戏开发详解 我们已经应用了第1章中介绍过的概念来编写和运行一些非常简单的Java程序.接下来,我们将把注意力转向对象,它使得我们能够编写更加复杂和强大的程序. 什么是对象?以你看待现实世界中的物体的方式来思考Java对象,这么做是有帮助的.对象所拥有的属性,我们称之为状态(state)和行为(behavior). 让我们以手机为例子.你的手机拥有状态,它可能是黑色的,并且可能打开了电源开关.这些属性可以帮助我们描述手机以形成其状态.手机还会有行为.它可能能

Android百度地图应用开发基础知识_Android

一.概述  这一章先来点有意思的百度地图应用示例,然后再分章详细介绍用C#开发Android App的各种基本技术.  本章以百度官网2016年1月发布的地图API(3.7.1版)为例,演示如何用C#和VS2015编写百度地图应用程序,这些示例程序既可以在Android 6.0的x86模拟器中运行,也可以发布到Android 4.0以上版本的手机中测试实际运行的效果. 1.下载官网提供的Demos 首先访问下面的网址: http://developer.baidu.com/map/ 打开网页后,

在Android中创建菜单项Menu以及获取手机分辨率的解决方法_Android

  在Activity中覆写下面两个方法: 复制代码 代码如下:   // 创建菜单 @Override public boolean onCreateOptionsMenu(Menu menu) {  menu.add(0, 0, 0, "关于");  // menu.add(int groupId, int itemId, int order, CharSequence title)  menu.add(0, 1, 1, "退出");        return