术语和概念?
屏幕尺寸?
屏幕的物理尺寸,以屏幕的对角线长度作为依据(比如?2.8寸,?3.5寸)。?
简而言之,?Android把所有的屏幕尺寸简化为三大类:大,正常,和小。?
程序可以针对这三种尺寸的屏幕提供三种不同的布局方案,然后系统会负责把你的布局方案以合适的方式渲染到对应的屏幕上,这个过程是不需要程序员用代码来干预的。?
屏幕长宽比?
屏幕的物理长度与物理宽度的比例。程序可以为制定长宽比的屏幕提供制定的素材,只需要用系统提供的资源分类符long和?notlong。?
分辨率?
屏幕上拥有的像素的总数。注意,虽然大部分情况下分辨率都被表示为“宽度×长度”,但分辨率并不意味着屏幕长宽比。在?Android系统中,程序一般并不直接处理分辨率。?
密度?
以屏幕分辨率为基础,沿屏幕长宽方向排列的像素。?
密度较低的屏幕,在长和宽方向都只有比较少的像素,而高密度的屏幕通常则会有很多 ——甚至会非常非常多——像素排列在同一区域。屏幕的密度是非常重要的,举个例子,长宽以像素为单位定义的界面元素(比如一个按钮),在低密度的屏幕上会 显得很大,但在高密度的屏幕上则会显得很小。?
密度无关的像素(?DIP?)?
指一个抽象意义上的像素,程序用它来定义界面元素。它作为一个与实际密度无关的单位,帮助程序员构建一个布局方案(界面元素的宽度,高度,位置)。?
一个与密度无关的像素,在逻辑尺寸上,与一个位于像素密度为?160DPI的屏幕上的像素是一致的,这也是Android平台所假定的默认显示设备。在运行的时候,平台会以目标屏幕的密度作为基准,“透明地”处理所有需要的DIP缩放操作。要把密度无关像素转换为屏幕像素,可以用这样一个简单的公式:?pixels = dips * (density / 160)。举个例子,在?DPI为?240的屏幕上,?1个?DIP等于?1.5个物理像素。我们强烈推荐你用?DIP来定义你程序的界面布局,因为这样可以保证你的?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 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 | ? |
AndroidManifest.xml中指定图标,名字不一定非叫icon
<application android:icon="@drawable/icon" android:label="@string/app_name">
2.0以后有三种尺寸,分别为36*36/48*48/72*72
你会看到drawable-hdpi/drawable-ldpi/drawable-mdpi不同的目录用来存储不同尺寸的图标,[email protected]/icon就可以,它会根据屏幕分辨率去找不同目录下的图标
hdpi里面主要放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)
mdpi里面主要放中等分辨率的图片,如HVGA (320x480)
ldpi里面主要放低分辨率的图片,如QVGA (240x320)
?
类型????????? hdpi ? ? ? ? ? ? ? ? mdpi ? ? ? ? ? ? ?? ldpi
ICON???????? 72*72???????? 48*48?????????????? 36*36
Notification图标 48*48 32*32 24*24
标签Tab图标 48*48 32*32 24*24
?
?