新闻中心

EEPW首页>测试测量>设计应用> Android平台的多分辨率屏显设计及其兼容性测试

Android平台的多分辨率屏显设计及其兼容性测试

作者: 时间:2012-05-07 来源:网络 收藏


1.2.5 多个apk 文件

Symbian 和传统的J2ME 就是采用这种方式,为一款应用提供多个分辨率版本,用户根据自己的需求下载安装相应的可执行文件。针对每一种屏幕单独开发应用程序不失为一种好方法,但是目前Google Market 对一个应用程序多个分辨率版本的支持还不完善,开发者还是需要尽可能使用一个apk 文件适应多个分辨率。

2 多分辨率处理方案详解

2.1 基本术语介绍

2.1.1 屏幕尺寸

真正的物理尺寸,屏幕对角线的长度,单位是英寸。为了简化起见,把支持的所有物理尺寸分成了4 组:small,normal, large, extra large.

2.1.2 屏幕密度Density

一定物理范围的像素的个数,单位通常是dpi(dots perinch),即每英寸的点数。例如一个低分辨率屏幕相对于高分辨率屏幕在一定的物理区域内包含的像素点要少。为了简化起见,将所有的屏幕密度分成四组:low, medium,high 和extra high.

2.1.3 方向Orientation

从用户视角来看的屏幕的方向,Portrait 纵向和Landscape 横向。

2.1.4 分辨率Resolution

屏幕上所有的像素点数目,一般用480*800 的形式来表示。密度无关像素dp:平台中虚拟的像素单位,定义成一种密度无关的形式,像素px 和dp 的转换公式为 px =dp*(dpi/160)。在界面开发中应使用dp 作为像素单位,从而保证在不同的屏幕密度上控件所占的实际px 因密度而自动调整。

2.2 手机屏幕的分类

Android 采用两种标准对屏幕进行分类。按照屏幕尺寸分为四组small, normal, large, extra large;按照屏幕密度分为四组 low, medium ,high 和extra high,其分界线如图1所示。

图1 Android 中的屏幕分类

为了优化程序UI,让其适应多种分辨率并能清晰显示,一般情况下需要为不同屏幕大小密度提供不同的图片文件和对应的布局文件,在运行的时候,Android 系统会根据当前设备的屏幕大小及密度等信息,选择加载其中一套匹配的资源加以运行,从而达到适应多分辨率的效果。

2.3 Android 支持多分辨率原理及步骤

由以上分析,默认的加载方式都不能很好地适应不同的分辨率,Android 从1.6 开始支持多种分辨率的处理,原理简而言之就是根据屏幕参数,动态加载资源文件。在Android 项目文件结构中,drawable 文件夹下包含三个子文件夹,分别为drawable-hdpi, drawable-mdpi, drawable-ldpi, 分别存放hdpi,mdpi,ldip 的位图。应用程序运行时,Android 系统会根据当前设备的屏幕大小、分辨率、屏幕密度、方向、长宽比等信息,选择相应文件夹进行加载。Android 配置修饰符的定义规则如下:

1)在res 文件夹下新建目录,命名为resources_name>-qualifier> 这种格式,其中resources_name> 为标准资源名称,例如drawable 或者layout;qualifier> 即修饰符,指定对应的屏幕参数,比如normal/small/large,hdpi/mdpi/ldpi,land/port,long/notlong 等。

2)在步骤1 新建的文件夹中存入相应的资源,比如位图资源或者layout 资源,资源文件的名字必须与默认资源文件的名字相同。例如:

3)Android 系统支持多分辨率的机制离不开Android-Manifest.xml 文件的supports-screen 元素,若应用程序要适应多种分辨率,需要将anyDensity 设置为true.



评论


相关推荐

技术专区

关闭