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

  • hdpi [480x800、480x854、540x960](早年的低端機,屏幕在3.5英寸檔位;如今的低端機,屏幕在4.7-5.0英寸檔位)
  • xhdpi [720x1280](早年的中端機,屏幕在4.7-5.0英寸檔位;如今的中低端機,屏幕在5.0-5.5英寸檔位)
  • xxhdpi [1080x1920](早年的高端機,如今的中高端機,屏幕通常都在5.0英寸以上)
  • xxxhdpi [1440x2560](極少數2K屏手機,比如Google Nexus 6)
  • 自然地,以1倍的mdpi作為基準 。 像素密度更高或者更低的設備,只需乘以相應的倍率,就能得到與基準倍率近似的顯示效果 。
    不過需要注意的是,Android設備的邏輯像素尺寸并不統一 。 比如兩種常見的屏幕480x800和1080x1920,它們分別屬于hdpi和xxhdpi 。 除以各自倍率1.5倍和3倍,得到邏輯像素為320x533和360x640 。 很顯然,后者更寬更高,能顯示更多內容 。 所以,即使有倍率的存在,各種Android設備的顯示效果仍然無法做到完全一致 。
    單位
    不難發現,真正決定顯示效果的,是邏輯像素尺寸 。 為此,iOS和Android平臺都定義了各自的邏輯像素單位 。 iOS的尺寸單位為pt,Android的尺寸單位為dp 。 說實話,兩者其實是一回事 。
    單位之間的換算關系隨倍率變化:
    • 1倍:1pt=1dp=1px(mdpi、iPhone 3gs)
    • 1.5倍:1pt=1dp=1.5px(hdpi)
    • 2倍:1pt=1dp=2px(xhdpi、iPhone 4s/5/6)
    • 3倍:1pt=1dp=3px(xxhdpi、iPhone 6)
    • 4倍:1pt=1dp=4px(xxxhdpi)
    單位決定了我們的思考方式 。 在設計和開發過程中,應該盡量使用邏輯像素尺寸來思考界面 。 設計Android應用時,有的設計師喜歡把畫布設為1080x1920,有的喜歡設成720x1280 。 給出的界面元素尺寸就不統一了 。 Android的最小點擊區域尺寸是48x48dp,這就意味著在xhdpi的設備上,按鈕尺寸至少是96x96px 。 而在xxhdpi設備上,則是144x144px 。
    無論畫布設成多大,我們設計的是基準倍率的界面樣式,而且開發人員需要的單位都是邏輯像素 。 所以為了保證準確高效的溝通,雙方都需要以邏輯像素尺寸來描述和理解界面,無論是在標注圖還是在日常溝通中 。 不要再說“底部標簽欄的高度是96像素,我是按照xhdpi做的”這樣的話了 。
    Web怎么辦
    移動端頁面的絕對單位仍然是px,至少代碼里這么寫,但它的道理也和app一樣 。 由于像素密度是設備本身的固有屬性,它會影響到設備中的所有應用,包括瀏覽器 。 前端技術可以善加利用設備的像素密度,只需一行代碼,瀏覽器便會使用app的顯示方式來渲染頁面 。 根據像素密度,按相應倍率縮放 。
    可以通過這個測試頁面 http://greenzorro.github.io/demo/basic/響應式斷點.html 來看看你的移動設備屏幕寬度,這是邏輯像素寬度 。
    以iPhone 5s為例,屏幕的分辨率是640x1136,倍率是2 。 瀏覽器會認為屏幕的分辨率是320x568,仍然是基準倍率的尺寸 。 所以在制作頁面時,只需要按照基準倍率來就行了 。 無論什么樣的屏幕,倍率是多少,都按邏輯像素尺寸來設計和開發頁面 。 只不過在準備資源圖的時候,需要準備2倍大小的圖,通過代碼把它縮成1倍大小顯示,才能保證清晰 。
    實際應用
    大家最關心的還是實際運用,畫布該怎么設置 。 我們就iOS、Android、Web三個平臺來分別梳理一下 。 不過在這之前,我要為使用PS進行設計的朋友介紹一個小技巧 。

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

    文章插圖
    之前我說過,我們要以邏輯像素尺寸來思考界面 。 體現到設計過程中,就是要把單位設置成邏輯像素 。 打開PS的首選項——單位與標尺界面,把尺寸和文字單位都改成點(Point) 。 這里的點也就是pt,無論設計iOS、Android還是Web應用,單位都用它 。 當然,各平臺單位名稱還是要記住的 。 這里我們用的只是它的原理,不用在意名稱 。
    要調節倍率,則通過圖像大小里的DPI來控制 。 這個DPI,其實就是PPI,像素密度 。 有個常識大家都知道,屏幕上的設計DPI設成72,印刷品設計DPI設成300 。 為什么是這兩個數字?
    首先說300,這和人眼的分辨能力有關 。 由于1英寸是固定長度,每1英寸有多少個像素點決定了畫質清晰程度 。 之前說過,這就是像素密度,也就是DPI 。 DPI達到300以上,其細膩程度就會給人真實感,像真實世界中的物件 。 相反,DPI只有10的話,在你一個食指指節大小的長度內只有10個像素,這明顯就是馬賽克了 。 所以印刷品要設成300,才能保證清晰 。
    再說72,這有一定的歷史原因 。 最早的圖形設計是在mac電腦上進行的,mac本身的顯示器分辨率就是72 。 PS中把圖像DPI也設成72,就能保證屏幕上顯示的尺寸和打印尺寸相同,便于設計 。 72的PC顯示器分辨率逐漸成為一種默認的行業標準,這套規則就這么沿用下來 。

    推薦閱讀