UI(一) 适应屏幕设备多样化

一、调侃现状

    Android不像苹果:苹果公司为iphone包办的软件硬件,而Android手机的硬件设备却不尽相同。单是屏幕设备就有很多(分辨率、尺寸、DPI)。这些种类繁多的屏幕设备给开发人员在Android界面开发时提高了不少难度。

    我们看看目前主流的Android手机采用的屏幕设备:UI(一) 适应屏幕设备多样化_第1张图片

    可爱的摩托罗拉大哥是怎样“疼爱”开发人员滴?Droid X 和Droid分辨率相同(480*800),但是DPI(每英寸的点数)却相差十几个。再看看HTC Droid和HTC Evo的差距也不小,死板界面设计用在它们身上“不是你死就是我亡”。

    至于为什么要有DPI的出现呢,因为不同尺寸的屏幕可能会用相同的分辨率,每英寸的点数不同,每英寸的点数值就是DPI。

    上个图让大家体会一下不同分辨率的屏幕感观。

    UI(一) 适应屏幕设备多样化_第2张图片

    

二、锦囊妙计

    可谓“兵来将挡水来土掩”,山人自有妙计。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 图片分有安全区域和拉伸区域,拉伸区域会根据屏幕不同而改变。    

 

 UI(一) 适应屏幕设备多样化_第3张图片

 UI(一) 适应屏幕设备多样化_第4张图片

你可能感兴趣的:(UI,android,iPhone,HTC,手机,平台)