分享移動端尺寸基礎知識 什么是移動端設計尺寸?

初涉移動端設計和開發的同學們,基本都會在尺寸問題上糾結好一陣子才能摸到頭緒 。 我也花了很長時間才弄明白,感覺有必要寫一篇足夠通俗易懂的教程來幫助大家 。 從原理說起,理清關于尺寸的所有細節 。 由于是寫給初學者的,所以不要嫌我啰嗦 。
現象
首先說現象,大家都知道移動端設備屏幕尺寸非常多,碎片化嚴重 。 尤其是Android,你會聽到很多種分辨率:480x800, 480x854, 540x960, 720x1280, 1080x1920,而且還有傳說中的2K屏 。 近年來iPhone的碎片化也加劇了:640x960, 640x1136, 750x1334, 1242x2208 。
不要被這些尺寸嚇倒 。 實際上大部分的app和移動端網頁,在各種尺寸的屏幕上都能正常顯示 。 說明尺寸的問題一定有解決方法,而且有規律可循 。
像素密度
要知道,屏幕是由很多像素點組成的 。 之前提到那么多種分辨率,都是手機屏幕的實際像素尺寸 。 比如480x800的屏幕,就是由800行、480列的像素點組成的 。 每個點發出不同顏色的光,構成我們所看到的畫面 。 而手機屏幕的物理尺寸,和像素尺寸是不成比例的 。 最典型的例子,iPhone 3gs的屏幕像素是320x480,iPhone 4s的屏幕像素是640x960 。 剛好兩倍,然而兩款手機都是3.5英寸的 。
所以,我們要引入最重要的一個概念:像素密度,也就是PPI(pixels per inch) 。 這項指標是連接數字世界與物理世界的橋梁 。
Pixels per inch,準確的說是每英寸的長度上排列的像素點數量 。 1英寸是一個固定長度,等于2.54厘米,大約是食指最末端那根指節的長度 。 像素密度越高,代表屏幕顯示效果越精細 。 Retina屏比普通屏清晰很多,就是因為它的像素密度翻了一倍 。
倍率與邏輯像素
再用iPhone 3gs和4s來舉例 。 假設有個郵件列表界面,我們不妨按照PC端網頁設計的思維來想象 。 3gs上大概只能顯示4-5行,4s就能顯示9-10行,而且每行會變得特別寬 。 但兩款手機其實是一樣大的 。 如果照這種方式顯示,3gs上剛剛好的效果,在4s上就會小到根本看不清字 。

分享移動端尺寸基礎知識 什么是移動端設計尺寸?

文章插圖
在現實中,這兩者效果卻是一樣的 。 這是因為Retina屏幕把2x2個像素當1個像素使用 。 比如原本44像素高的頂部導航欄,在Retina屏上用了88個像素的高度來顯示 。 導致界面元素都變成2倍大小,反而和3gs效果一樣了 。 畫質卻更清晰 。
注:相關網站建設技巧閱讀請移步到建站教程頻道 。
在以前,iOS應用的資源圖片中,同一張圖通常有兩個尺寸 。 你會看到文件名有的帶@2x字樣,有的不帶 。 其中不帶@2x的用在普通屏上,帶@2x的用在Retina屏上 。 只要圖片準備好,iOS會自己判斷用哪張,Android道理也一樣 。
由此可以看出,蘋果以普通屏為基準,給Retina屏定義了一個2倍的倍率(iPhone 6plus除外,它達到了3倍) 。 實際像素除以倍率,就得到邏輯像素尺寸 。 只要兩個屏幕邏輯像素相同,它們的顯示效果就是相同的 。

分享移動端尺寸基礎知識 什么是移動端設計尺寸?

文章插圖
Android的解決方法類似,但更復雜一些 。 因為Android屏幕尺寸實在太多,分辨率高低跨度非常大,不像蘋果只有那么幾款固定設備、固定尺寸 。 所以Android把各種設備的像素密度劃成了好幾個范圍區間,給不同范圍的設備定義了不同的倍率,來保證顯示效果相近 。 像素密度概念雖然重要,但用不著我們自己算,iOS與Android都幫我們算好了 。

分享移動端尺寸基礎知識 什么是移動端設計尺寸?

文章插圖
如圖所示,像素密度在120左右的屏幕歸為ldpi,160左右的歸為mdpi,以此類推 。 這樣,所有的Android屏幕都找到了自己的位置,并賦予了相應的倍率:
  • ldpi [0.75倍]
  • mdpi [1倍]
  • hdpi [1.5倍]
  • xhdpi [2倍]
  • xxhdpi [3倍]
  • xxxhdpi [4倍]
各型號iPhone的倍率比較簡單,我們后面會講到 。 那么Android手機那么多,具體怎么分?哪些手機是幾倍的倍率呢?我們先看一張表,這是友盟2014年10月到2015年03月的數據:

分享移動端尺寸基礎知識 什么是移動端設計尺寸?

文章插圖
就目前市場狀況而言,各種手機的分辨率可以這樣粗略判斷 。 雖然不全面,但至少在1年內都還有一定的參考意義: