手機(jī)客戶端適配性

適配性指的是客戶端應(yīng)用程序能可以在多種參數(shù)的手機(jī)屏幕上運(yùn)行,手機(jī)屏幕的相關(guān)參數(shù)有尺寸、分辨率和精度。
- 屏幕尺寸指的是實(shí)際的物理尺寸,以屏幕的對(duì)角線長(zhǎng)度為準(zhǔn)。如iPhone的尺寸為3.5英寸。
- 屏幕分辨率是物理像素總數(shù)。如iPhone的屏幕像素為320×480px(寬×高)。
- 屏幕精度取決于屏幕分辨率和像素在物理寬高上分布情況。如iPhone的精度為164dpi。簡(jiǎn)單地說(shuō)精度是分辨率與尺寸的比值。同樣的分辨率,尺寸越大,精度越小。
引起適配問(wèn)題的原因有:
1.手機(jī)分辨率(簡(jiǎn)稱為R)多樣化。從128×128px到800 ×480px約30種分辨率,根據(jù)QVGA(240×320px)、HVGA(320×480px)和VGA(480×640px)可分為四種:
- R<QVGA:128×128,130×130,132×176,176×208……,此種分辨率市場(chǎng)占有率不到5%,將逐漸被市場(chǎng)淘汰,加之此類手機(jī)的用戶消費(fèi)能力較低,因而很多應(yīng)用程序都放棄此類手機(jī)。
- QVGA≤R<HVGA:240×320,240×400,240×432……,此種市場(chǎng)占有率達(dá)到70%。
- HVGA≤R<VGA:320×480,360×480,480×360……
- VGA≤R:480×640,480×800……VGA和HVGA是未來(lái)手機(jī)屏幕的發(fā)展趨勢(shì),市場(chǎng)占有率將持續(xù)增大。
2.精度多樣化。低精度的屏幕有較少的可用像素,而有時(shí)在同樣的區(qū)域內(nèi)顯示更多的像素,同一個(gè)UI元素(如按鈕)在高精度的屏幕上要比低精度的屏幕上看起來(lái)要小。
在PC上的web設(shè)計(jì)通常寬度為960px,顯示在寬屏幕上時(shí),頁(yè)面居中對(duì)齊,左右可用純色或者圖片填充。對(duì)于手機(jī)而言,每頁(yè)顯示的能力有限,不是像web設(shè)計(jì)那樣討論顯示1屏還是8屏,手機(jī)客戶端大多顯示1屏,如不是多數(shù)據(jù)頁(yè)面要盡量避免使用滾動(dòng)條,否則在按鍵手機(jī)要按多次向下鍵或者在觸摸屏上向上平移界面才能找到想要的內(nèi)容,所以設(shè)計(jì)手機(jī)客戶端討論更多的是如何精簡(jiǎn)信息和減少操作步驟。
QVGA的1屏界面移植到VGA上,只能占據(jù)半屏的屏幕,圖標(biāo)看起來(lái)不宜識(shí)別。所以先為QVGA手機(jī)設(shè)計(jì)界面之后,再根據(jù)大屏幕手機(jī)的分辨率調(diào)整界面中圖標(biāo)等元素的尺寸,保證顯示效果并充分利用好每一個(gè)像素點(diǎn)。
適配有兩種做法:1.根據(jù)分辨率適配。2.根據(jù)精度適配。
分辨率適配
這種做法適用于Java&Windows Mobile版的客戶端。
如示意圖,頂部為導(dǎo)航,內(nèi)容為下拉框和“確定”按鈕。程序開(kāi)啟時(shí)獲取手機(jī)分辨率為w×h,從上到下依次繪制界面(數(shù)據(jù)均為假設(shè)):
當(dāng)240≤w<320時(shí),icon的大小為40×40px,菜單欄的高度=d(d=24px),上間距=左間距=右間距=10px,換行間距br=6px,下拉框的高度=字的高度+2a(手機(jī)默認(rèn)的字體高度大小不一,a=4px),下拉框的寬度=w-左右間距,按鈕的高度=字的高度+2a,按鈕的寬度=字的寬度+2b(b=6px)
當(dāng)320≤w<480時(shí),icon的大小為60×60px,菜單欄的高度=d(d=32px),上間距=左間距=右間距=14px,換行間距br=8px,下拉框的高度=字的高度+2a(手機(jī)默認(rèn)的字體高度大小不一,a=6px),下拉框的寬度=w-左右間距,按鈕的高度=字的高度+2a,按鈕的寬度=字的寬度+2b(b=8px)
……
依次類推,區(qū)分出多個(gè)版本。其中數(shù)值可以是明確數(shù)字,也可以使用公式,比如,菜單欄的高度=d,br=d/4。這些數(shù)值和公式寫(xiě)入XML,加上適當(dāng)?shù)膱D片資源,更換不同的版本時(shí),只是XML和圖片不同,主要程序還是同樣的。
精度適配
Android是按精度適配,平臺(tái)不僅可以使用在手機(jī)上,還能使用在導(dǎo)航儀等設(shè)備上,屏幕的參數(shù)同樣的多樣化。Android自帶三種功能:1.圖片縮放;2.自動(dòng)定義像素尺寸和位置;3.兼容更大尺寸的屏幕,在Android的icon設(shè)計(jì)指南中有介紹,程序開(kāi)啟時(shí)根據(jù)獲取到的精度值調(diào)用合適的圖片資源。
按精度區(qū)分版本需要平臺(tái)的支持,由于中精度大屏幕的手機(jī)較少,按照分辨率適配能滿足大部分的手機(jī)顯示要求,由于Android的客戶端還在設(shè)計(jì)過(guò)程中,最終效果不便下結(jié)論。
來(lái)源:http://daichuanqing.com/index.php/archives/1331
- 目前還沒(méi)評(píng)論,等你發(fā)揮!