一、Android系统是可以支持不同分辨率的,这一点毋庸置疑,但是它无法做到支持任意的分辨率
如果想要搭建一个支持多种分辨率的Android应用程序,一般的做法是这样的:
首先,按照HVGA(分辨率480×320左右,通常使用160ppi——一英寸中包含160个像素点)分辨率构建软件UI,其中使用的图片通常存放在开发目录下的drawable-mdpi文件夹中,mdpi表示中等程度的dpi分辨率。
当设计UI可以满足需求之后,将该文件夹中的图片进行缩放,对于QVGA类屏幕(分辨率320×240左右,通常使用120ppi)需要将mdpi图片缩小75%放入drawable-ldpi文件夹中以满足UI要求,对于WVGA类屏幕(分辨率800×480左右,通常使用240ppi)需要将mdpi图片放大150%放入drawable-hdpi文件夹中以满足UI要求。
运行Android系统的手机在运行时会根据屏幕情况,自动加载对应dpi目录中的图片,从而满足对不同分辨率的适应要求。
可见,Android SDK仅提供了三组不同的UI图片存放目录,而最高分辨率仅支持到240ppi。关键在于M9和IPhone4的屏幕细腻程度达到了320ppi以上,也就是说,在SDK中即便是用最大分辨率的图片依然无法满足屏幕要求。
二、Android系统支持一种称为9patch格式图片,即将图片分割为9个部分,其中中间部分可以通过像素复制的方式进行图像拉伸。这种图片格式对于那些需要保持图像边缘部分不变,而中间像素相似的图片拉伸需求非常管用。例如一张需要适应不同分辨率情况下的按钮背景。但是这种图片的使用是有局限的,也就是仅适用于那些控件或屏幕区域的背景图。
以上说明解释了Android SDK如何适应多种不同的屏幕分辨率,不难发现,对于960×640分辨率的屏幕来说,开发应用程序必须重新对UI图片进行手工缩放才能满足要求。尤其是对于游戏来说,由于图片比较复杂,一般无法使用9patch方式拉伸。
可见,如果在应用中大量使用图片作为软件UI,则需要重新设计才能满足M9分辨率,如果使用图像编程接口画出来的UI,则可以在运行时通过屏幕像素密度参数来动态设定。最悲剧的就是游戏了,几乎全是使用图片。
—————————————————————————————
有的朋友问为何有些游戏可以支持m9,我的理解是这样的。
Android支持960分辨率没问题,问题是选择哪种高分辨率作为开发标准:是WVGA还是M9分辨率。应该是无法在一个发布包里同时支持的。当前大多数软件均以WVGA作为高分辨率开发标准,因此可能难以自动适应M9。
Gameloft是靠IPhone起死回生的,因此它将软件移植到960×640分辨率并不难。
——————————————————————————————
感谢microjo的提醒。
由于我以前是基于android1.6开发的,确实没有很好的关注新版sdk的发展。刚才在microjo的提醒下,我查看了一下文档说明,如下:
The xhdpi density category was added in Android 2.2 (API Level 8). The xlarge size category was added in Android 2.3 (API Level
9).
也就是说从android2.2开始应该可以支持更高密度的分辨率了。也就是说良好支持2.2版以上的android系统的软件支持M9应该没问题。但如果还想兼容老版本的系统就会麻烦一些。
分享到:
相关推荐
本工具,名为“android屏幕分辨率适配,静态xml制作工具”,专门解决这一问题,帮助开发者快速、有效地生成适用于各种屏幕分辨率的XML布局文件。 在Android系统中,屏幕适配主要通过使用不同密度和尺寸的资源文件夹...
### Android分辨率屏含义及大小详解 #### 一、引言 在探讨Android设备的分辨率时,我们首先要理解分辨率的基本概念。分辨率是指屏幕上显示的像素数量,通常以宽度和高度的像素数来表示,如1920x1080。在Android...
"android分辨率适配文件生成"这个话题就是针对这个问题提出的一种解决方案。Android系统支持多种屏幕尺寸和分辨率,包括小屏、中屏、大屏以及超大屏,对应的像素密度有ldpi(低密度)、mdpi(中密度)、hdpi(高密度...
"android分辨率适配源码+apk包" 提供了一个解决这一问题的实例,它包含源码和可安装的APK应用,帮助开发者了解如何在Android应用中实现自适应不同分辨率的屏幕。 首先,我们来理解分辨率适配的基本概念。Android...
这个"android分辨率xml生成工具"的源码module就是为了简化这一过程而设计的。它允许开发者快速为各种屏幕尺寸生成相应的资源文件,提高开发效率。 首先,我们需要理解Android系统如何处理屏幕分辨率。Android支持...
### Android分辨率完美适应详解 在Android应用开发过程中,面对各种屏幕尺寸和分辨率的设备,确保应用界面能够完美适配每一种设备,是一项重要的任务。本文将深入探讨Android应用如何实现分辨率的完美适应,涵盖...
通过以上介绍,我们可以看到,Android分辨率管理是开发过程中的重要环节,合理的资源管理和适配策略对于提升应用质量至关重要。这个压缩包提供的不同分辨率的图片实例,是学习和实践这一概念的好材料。
本文将介绍一种处理Android分辨率适配的方法,通过自定义一个`LayoutInformation` JavaBean类来存储和处理View的布局信息,从而实现更加灵活的适配。 首先,让我们深入理解Android屏幕适配的关键概念: 1. **密度...
分辨率
android4.x系统占比69.2%,已经成为绝对主流。其中4.1占比最高,为36.5%。今年七月这两项数据分别是61.2%、32.3%。 2)android2.3仍占有28.5%,但下降趋势明显(今年七月的数据为34.1%)。
在Android开发中,面对不同设备的屏幕尺寸和分辨率,开发者需要进行有效的适配工作,以确保应用在各种设备上都能有良好的用户体验。本压缩包文件提供了关于如何在Android平台上进行多分辨率适配、判断设备是平板还是...
在Android开发中,屏幕分辨率是决定应用界面显示效果的关键因素之一。不同的设备有着不同的屏幕尺寸和像素密度,因此,测试手机分辨率对于确保应用在各种设备上都有良好的视觉体验至关重要。"测试手机分辨率的小Demo...
在Android开发中,面对众多不同分辨率的设备,开发者必须采取有效的多分辨率解决方案,以确保应用程序在各种设备上都能提供良好的用户体验。以下将详细介绍Android多分辨率适应的策略。 1. **资源目录结构** ...
### 永久修改VirtualBox中Android-x86启动分辨率 在使用VirtualBox安装并运行Android-x86的过程中,可能会遇到虚拟机启动后的分辨率问题,尤其是当所有的应用程序默认以横屏模式启动时,这不仅降低了用户体验,也...
在Android开发过程中,屏幕适配是一项重要的工作,因为Android设备有着多样化的屏幕尺寸和分辨率。本文将详细讨论如何使用特定的工具,特别是针对"anrdroid测试屏幕分辨率"这一主题,来有效地测试和优化应用程序在...
玩转Android多分辨率规格的界面设计 随着移动互联网的飞速发展,Android系统因其开放性和灵活性,成为全球最受欢迎的移动操作系统之一。然而,这也带来了挑战,尤其是对于界面设计师而言,如何应对Android设备屏幕...
### Android主流分辨率及对应机型详解 #### 一、引言 在移动互联网时代,随着智能手机的普及和技术的进步,屏幕分辨率成为衡量手机显示效果的重要指标之一。不同分辨率的屏幕能够为用户提供不同的视觉体验,同时也...
小Demo 里面有关于自己手机的屏幕分辨率,包含虚拟按键的,方便手机进行屏幕适配
在Android平台上,分辨率问题是一个关键的设计和开发考虑因素,因为它涉及到UI元素在不同尺寸和密度屏幕上的呈现。Android系统为了适应各种设备,采用了一种灵活的屏幕适配策略。 首先,我们来理解Android屏幕适配...