一、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,则可以在运行时通过屏幕像素密度参数来动态设定。最悲剧的就是游戏了,几乎全是使用图片。
分享到:
相关推荐
这是一款可以自动生成各个屏幕分辨率.xml文件的工具,内含demo和注释,教你怎么应用,非常好用,欢迎star!
Android分辨率屏含义及大小
android分辨率完美适应
android分辨率自动适配源码和apk包
android 分辨率图片,自制了几版android的图片文件,方便大家来查看。希望对大家有所帮助啊!
当您的Android应用即将发布的时候,如果你想让更多的用户去使用你的应用,摆在工程师面前的一个重要问题就是如何让你的应用能在各种各样的终端上运行,这里的各种各样首当其冲的就是不同的屏幕分辨率和尺寸。
这是一款可以自动生成各个屏幕分辨率.xml文件的工具的源码库,非常好用,欢迎star!
分辨率
android4.x系统占比69.2%,已经成为绝对主流。其中4.1占比最高,为36.5%。今年七月这两项数据分别是61.2%、32.3%。 2)android2.3仍占有28.5%,但下降趋势明显(今年七月的数据为34.1%)。
以前在公司做项目的时候,遇到了分辨率的适配问题,说起来当时挺纠结的,因为没有外网,所以这个问题,都是黑暗中摸索的,尝试了许多方法,最后和... import android.view.View; /** * 存储View信息的JavaBean类 * *
android多分辨率适配 ,判断平板还是手机,等比例缩小图片.rar
小Demo 里面有关于自己手机的屏幕分辨率,包含虚拟按键的,方便手机进行屏幕适配
如今的智能手机用户对应用软件的舒适...但是由于Android的开源性,硬件厂商屏幕分辨率 不统一,据统计目前市场上Android系统手机的分辨率有10余种,分辨率分布如此广泛使得开发者在处理多分辨率适应方面遇到了不少难题
测试不同手机实际分辨率的小demo附源码
Android多分辨率适配,统一以px为单位,按照屏幕大小进行缩放适配。
Android自适应分辨率,让程序自动适应屏幕大小
android方面关于分辨率问题进行了说明,不懂的开发或设计师可以通过这份文档了解到具体的处理。
玩转Android多分辨率规格的界面设计