Android軟件人員最擔憂的Android分裂性問題之一當屬顯示屏的不同尺寸。因每一部手機分辨率不同,軟件人員需要精確計算出設計圖標、照片、視頻游戲背景和對話框等的占用空間。但Google表示已經(jīng)從根本上解決了這一曾困擾Palm軟件人員的分辨率問題。
實際上,早在第一款Android手機上市前,Google就已經(jīng)推出一套解決方案,不僅解決了不同的像素分辨率為題,還解決了像素密度問題,像素密度指的是每英寸像素數(shù)量。Android結構工程師黛安·哈克本(Diane Hackborn)在Google+中描述了公司理念:
我們解決顯示屏分辨率問題的動機來源于Palm/PalmSource體驗。Palm設備傳統(tǒng)上采用160x160顯示屏。最初,索尼推出320x320顯示屏,應用坐標只需擴大一倍即可,軟件人員仍能夠認為自己是在160x160的顯示屏上操作,操作系統(tǒng)通過轉換并利用高分辨率顯示屏顯示更清晰的文本和繪圖。
但后來該策略在遭遇QVGA [320x240]顯示屏時出現(xiàn)問題。由于QVGA [320x240]顯示屏用于大量設備,其生產成本較低。將書寫區(qū)域放置在顯示屏底部,仍能夠獲得應用所需的預期空間。但其密度在160x160和320x320之間,縮放比例為1.5倍時,問題就出現(xiàn)了。
將目標尺寸縮放1.5倍,原來的實線將因實際顯示屏分辨率不同而出現(xiàn)不同程度的暗淡斑點。為解決Android面臨的顯示屏尺寸和分辨率挑戰(zhàn),該操作系統(tǒng)采用密度獨立像素(其縮寫為dp或dip)方案。
Android針對顯示屏分辨率提出的解決方案配合大量布局工具使用。Meridian Apps軟件人員尼克·法倫納(Nick Farina)在博客中稱:“一旦軟件人員掌握了布局工具,就能夠在布局時對肖像/平面設備方向及不同顯示屏尺寸進行自動調整!
Android工程師羅曼·蓋伊(Romain Guy)指出:“如果你在應用中標出的按鈕為100像素的寬度,該按鈕在640x480像素設備中看起來較320x480像素設備中要小得多。現(xiàn)在,如果你對按鈕的寬度標為100dip,該按鈕尺寸在兩款設備上看起來是一樣的。”
從理論上看,Android解決方案適合任何像素密度。為方便起見,Google制定出一些主要計數(shù)單位:規(guī)定1ldpi=120dpi,1mdpi=160 dpi,1hdpi=240 dpi,1xhdpi=320 dpi。為推動這一方案,Google力勸軟件人員為不同DPI顯示屏提供資源,確保其應用在任一款設備上看起來更漂亮。
這就需要編碼員和圖形設計人員做些先期工作。哈克本說,做好先期工作將保證軟件能夠很好地適應Galaxy Nexus及其316dpi、1280x720顯示屏。
哈克本說:“目前Android及其應用在Galaxy Nexus上運行得相當好!盇ndroid解決方案非常靈活。當然,Google從一開始就將Android定位為一款面向眾多制造商的操作系統(tǒng)。蘋果iPhone則情況迥異,蘋果一直牢牢掌控著iPhone。
軟件人員密切關注iOS的每一個像素。iPhone 4問世后,其顯示屏分辨率由480x320增長至960x640。大量跡象表明蘋果下一代iPad顯示屏分辨率將由第一代iPad的1024x768分辨率增長至2048x1536。