Android分辨率_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > Android分辨率

Android分辨率

 2011/1/10 9:44:53  熊滔爱孟涛静  http://mtj13617254943-126-com.javaeye.com  我要评论(0)
  • 摘要:一、Android系统是可以支持不同分辨率的,这一点毋庸置疑,但是它无法做到支持任意的分辨率如果想要搭建一个支持多种分辨率的Android应用程序,一般的做法是这样的:首先,按照HVGA(分辨率480×320左右,通常使用160ppi——一英寸中包含160个像素点)分辨率构建软件UI,其中使用的图片通常存放在开发目录下的drawable-mdpi文件夹中,mdpi表示中等程度的dpi分辨率。当设计UI可以满足需求之后,将该文件夹中的图片进行缩放,对于QVGA类屏幕(分辨率320×240左右
  • 标签:android

一、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,则可以在运行时通过屏幕像素密度参数来动态设定。最悲剧的就是游戏了,几乎全是使用图片。

发表评论
用户名: 匿名