UI(一) 适应屏幕设备多样化
一、调侃现状
Android不像苹果:苹果公司为iphone包办的软件硬件,而Android手机的硬件设备却不尽相同。单是屏幕设备就有很多(分辨率、尺寸、DPI)。这些种类繁多的屏幕设备给开发人员在Android界面开发时提高了不少难度。
我们看看目前主流的Android手机采用的屏幕设备:
可爱的摩托罗拉大哥是怎样“疼爱”开发人员滴?Droid X 和Droid分辨率相同(480*800),但是DPI(每英寸的点数)却相差十几个。再看看HTC Droid和HTC Evo的差距也不小,死板界面设计用在它们身上“不是你死就是我亡”。
至于为什么要有DPI的出现呢,因为不同尺寸的屏幕可能会用相同的分辨率,每英寸的点数不同,每英寸的点数值就是DPI。
上个图让大家体会一下不同分辨率的屏幕感观。
二、锦囊妙计
可谓“兵来将挡水来土掩”,山人自有妙计。Android平台提供了DIP(Density Independent Pixels 与密度无关像素)。用它来定义界面元素的大小,能够根据不同屏幕进行渲染,使其适应不同的屏幕。
不过这种方法就不适用于那些已渲染的资源,比如图片。这样的情况,有几种方法选择:
1.代码控制
即不灵活又不美观。
2.为不同的屏幕准备相应的多套图片
不错,但是最终.apk包会变好大。
3.做成9-patch图片
呵呵,是个不错的选择,不过要有劳美工设计多费心神了。
4.为最常用的屏幕准备相应的9-patch图片
是最佳方法。方法2和方法3的结合。为常用的屏幕240×340, 320×480, 480×800提供相应的9-patch图片,9-patch图片会根据屏幕的长宽比变高或变宽。
三、9-Patch 图片
9-Patch 图片分有安全区域和拉伸区域,拉伸区域会根据屏幕不同而改变。
更多相关文章
- Android之Picasso
- Android在使用WebView时,图片显示出错问题。
- Android多分辨率适配-长度单位和转换计算-多分辨率适配
- Android多分辨率适配原理
- RecyclerView中ViewHolder重用机制理解(解决图片错乱和闪烁问题)
- Android的List点击某一项之后的背景设置
- Android(安卓)开源框架Universal-Image-Loader完全解析(一)--- 基
- 深入探索 Android(安卓)内存优化(炼狱级别)
- Android(安卓)程序之在线词典[2010-05-08更新图片]