手機APP UI設(shè)計尺寸基礎(chǔ)知識

寫給移動端設(shè)計和開發(fā)的同學(xué)們,理清關(guān)于尺寸的所有細節(jié)。

現(xiàn)象

首先說現(xiàn)象,大家都知道移動端設(shè)備屏幕尺寸非常多,碎片化嚴重害幅。尤其是Android,你會聽到很多種分辨率:480x800, 480x854, 540x960, 720x1280, 1080x1920牵署,而且還有傳說中的2K屏闹究。近年來iPhone的碎片化也加劇了:640x960, 640x1136, 750x1334, 1242x2208。

不要被這些尺寸嚇倒珠插。實際上大部分的app和移動端網(wǎng)頁惧磺,在各種尺寸的屏幕上都能正常顯示。說明尺寸的問題一定有解決方法捻撑,而且有規(guī)律可循磨隘。

像素密度

要知道,屏幕是由很多像素點組成的顾患。之前提到那么多種分辨率番捂,都是手機屏幕的實際像素尺寸。比如480x800的屏幕江解,就是由800行设预、480列的像素點組成的。每個點發(fā)出不同顏色的光犁河,構(gòu)成我們所看到的畫面鳖枕。而手機屏幕的物理尺寸,和像素尺寸是不成比例的桨螺。最典型的例子宾符,iPhone 3gs的屏幕像素是320x480,iPhone 4s的屏幕像素是640x960灭翔。剛好兩倍魏烫,然而兩款手機都是3.5英寸的。

所以缠局,我們要引入最重要的一個概念:像素密度则奥,也就是PPI(pixels per inch)。這項指標(biāo)是連接數(shù)字世界與物理世界的橋梁狭园。

Pixels per inch读处,準(zhǔn)確的說是每英寸的長度上排列的像素點數(shù)量。1英寸是一個固定長度唱矛,等于2.54厘米罚舱,大約是食指最末端那根指節(jié)的長度井辜。像素密度越高,代表屏幕顯示效果越精細管闷。Retina屏比普通屏清晰很多粥脚,就是因為它的像素密度翻了一倍。

倍率與邏輯像素

再用iPhone 3gs和4s來舉例包个。假設(shè)有個郵件列表界面刷允,我們不妨按照PC端網(wǎng)頁設(shè)計的思維來想象。3gs上大概只能顯示4-5行碧囊,4s就能顯示9-10行树灶,而且每行會變得特別寬。但兩款手機其實是一樣大的糯而。如果照這種方式顯示天通,3gs上剛剛好的效果,在4s上就會小到根本看不清字熄驼。

在現(xiàn)實中像寒,這兩者效果卻是一樣的。這是因為Retina屏幕把2x2個像素當(dāng)1個像素使用瓜贾。比如原本44像素高的頂部導(dǎo)航欄诺祸,在Retina屏上用了88個像素的高度來顯示。導(dǎo)致界面元素都變成2倍大小阐虚,反而和3gs效果一樣了序臂。畫質(zhì)卻更清晰。

在以前实束,iOS應(yīng)用的資源圖片中奥秆,同一張圖通常有兩個尺寸。你會看到文件名有的帶@2x字樣咸灿,有的不帶构订。其中不帶@2x的用在普通屏上,帶@2x的用在Retina屏上避矢。只要圖片準(zhǔn)備好悼瘾,iOS會自己判斷用哪張,Android道理也一樣审胸。

由此可以看出亥宿,蘋果以普通屏為基準(zhǔn),給Retina屏定義了一個2倍的倍率(iPhone 6plus除外砂沛,它達到了3倍)烫扼。實際像素除以倍率,就得到邏輯像素尺寸碍庵。只要兩個屏幕邏輯像素相同映企,它們的顯示效果就是相同的悟狱。

Android的解決方法類似,但更復(fù)雜一些堰氓。因為Android屏幕尺寸實在太多挤渐,分辨率高低跨度非常大,不像蘋果只有那么幾款固定設(shè)備双絮、固定尺寸浴麻。所以Android把各種設(shè)備的像素密度劃成了好幾個范圍區(qū)間,給不同范圍的設(shè)備定義了不同的倍率掷邦,來保證顯示效果相近白胀。像素密度概念雖然重要,但用不著我們自己算抚岗,iOS與Android都幫我們算好了。

如圖所示哪怔,像素密度在120左右的屏幕歸為ldpi宣蔚,160左右的歸為mdpi,以此類推认境。這樣胚委,所有的Android屏幕都找到了自己的位置,并賦予了相應(yīng)的倍率:

ldpi [0.75倍]

mdpi [1倍]

hdpi [1.5倍]

xhdpi [2倍]

xxhdpi [3倍]

xxxhdpi [4倍]

各型號iPhone的倍率比較簡單叉信,我們后面會講到亩冬。那么Android手機那么多,具體怎么分?哪些手機是幾倍的倍率呢?我們先看一張表硼身,這是友盟2014年10月到2015年03月的數(shù)據(jù):

就目前市場狀況而言硅急,各種手機的分辨率可以這樣粗略判斷。雖然不全面佳遂,但至少在1年內(nèi)都還有一定的參考意義:

ldpi 如今已絕跡营袜,不用考慮

mdpi [320x480](市場份額不足5%,新手機不會有這種倍率丑罪,屏幕通常都特別小)

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](極少數(shù)2K屏手機宅楞,比如Google Nexus 6)

自然地针姿,以1倍的mdpi作為基準(zhǔn)袱吆。像素密度更高或者更低的設(shè)備,只需乘以相應(yīng)的倍率距淫,就能得到與基準(zhǔn)倍率近似的顯示效果绞绒。

不過需要注意的是,Android設(shè)備的邏輯像素尺寸并不統(tǒng)一榕暇。比如兩種常見的屏幕480x800和1080x1920蓬衡,它們分別屬于hdpi和xxhdpi。除以各自倍率1.5倍和3倍彤枢,得到邏輯像素為320x533和360x640狰晚。很顯然,后者更寬更高缴啡,能顯示更多內(nèi)容壁晒。所以,即使有倍率的存在业栅,各種Android設(shè)備的顯示效果仍然無法做到完全一致秒咐。

單位

不難發(fā)現(xiàn),真正決定顯示效果的碘裕,是邏輯像素尺寸携取。為此,iOS和Android平臺都定義了各自的邏輯像素單位帮孔。iOS的尺寸單位為pt雷滋,Android的尺寸單位為dp。說實話文兢,兩者其實是一回事晤斩。

單位之間的換算關(guān)系隨倍率變化:

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)

單位決定了我們的思考方式。在設(shè)計和開發(fā)過程中旷偿,應(yīng)該盡量使用邏輯像素尺寸來思考界面烹俗。設(shè)計Android應(yīng)用時,有的設(shè)計師喜歡把畫布設(shè)為1080x1920萍程,有的喜歡設(shè)成720x1280幢妄。給出的界面元素尺寸就不統(tǒng)一了。Android的最小點擊區(qū)域尺寸是48x48dp茫负,這就意味著在xhdpi的設(shè)備上蕉鸳,按鈕尺寸至少是96x96px。而在xxhdpi設(shè)備上,則是144x144px潮尝。

無論畫布設(shè)成多大榕吼,我們設(shè)計的是基準(zhǔn)倍率的界面樣式,而且開發(fā)人員需要的單位都是邏輯像素勉失。所以為了保證準(zhǔn)確高效的溝通羹蚣,雙方都需要以邏輯像素尺寸來描述和理解界面,無論是在標(biāo)注圖還是在日常溝通中乱凿。不要再說“底部標(biāo)簽欄的高度是96像素顽素,我是按照xhdpi做的”這樣的話了。

Web怎么辦

移動端頁面的絕對單位仍然是px徒蟆,至少代碼里這么寫胁出,但它的道理也和app一樣。由于像素密度是設(shè)備本身的固有屬性段审,它會影響到設(shè)備中的所有應(yīng)用全蝶,包括瀏覽器。前端技術(shù)可以善加利用設(shè)備的像素密度寺枉,只需一行代碼裸诽,瀏覽器便會使用app的顯示方式來渲染頁面。根據(jù)像素密度型凳,按相應(yīng)倍率縮放。

可以通過這個測試頁面http://greenzorro.github.io/demo/basic/響應(yīng)式斷點.html來看看你的移動設(shè)備屏幕寬度嘱函,這是邏輯像素寬度甘畅。

以iPhone 5s為例,屏幕的分辨率是640x1136往弓,倍率是2疏唾。瀏覽器會認為屏幕的分辨率是320x568,仍然是基準(zhǔn)倍率的尺寸函似。所以在制作頁面時槐脏,只需要按照基準(zhǔn)倍率來就行了。無論什么樣的屏幕撇寞,倍率是多少顿天,都按邏輯像素尺寸來設(shè)計和開發(fā)頁面。只不過在準(zhǔn)備資源圖的時候蔑担,需要準(zhǔn)備2倍大小的圖牌废,通過代碼把它縮成1倍大小顯示,才能保證清晰啤握。

實際應(yīng)用

大家最關(guān)心的還是實際運用鸟缕,畫布該怎么設(shè)置。我們就iOS、Android懂从、Web三個平臺來分別梳理一下授段。不過在這之前,我要為使用PS進行設(shè)計的朋友介紹一個小技巧番甩。

之前我說過侵贵,我們要以邏輯像素尺寸來思考界面。體現(xiàn)到設(shè)計過程中对室,就是要把單位設(shè)置成邏輯像素模燥。打開PS的首選項——單位與標(biāo)尺界面,把尺寸和文字單位都改成點(Point)掩宜。這里的點也就是pt蔫骂,無論設(shè)計iOS、Android還是Web應(yīng)用牺汤,單位都用它辽旋。當(dāng)然,各平臺單位名稱還是要記住的檐迟。這里我們用的只是它的原理补胚,不用在意名稱。

要調(diào)節(jié)倍率追迟,則通過圖像大小里的DPI來控制溶其。這個DPI,其實就是PPI敦间,像素密度瓶逃。有個常識大家都知道,屏幕上的設(shè)計DPI設(shè)成72廓块,印刷品設(shè)計DPI設(shè)成300厢绝。為什么是這兩個數(shù)字?

首先說300,這和人眼的分辨能力有關(guān)带猴。由于1英寸是固定長度昔汉,每1英寸有多少個像素點決定了畫質(zhì)清晰程度。之前說過拴清,這就是像素密度靶病,也就是DPI。DPI達到300以上贷掖,其細膩程度就會給人真實感嫡秕,像真實世界中的物件。相反苹威,DPI只有10的話昆咽,在你一個食指指節(jié)大小的長度內(nèi)只有10個像素,這明顯就是馬賽克了。所以印刷品要設(shè)成300掷酗,才能保證清晰调违。

再說72,這有一定的歷史原因泻轰。最早的圖形設(shè)計是在mac電腦上進行的技肩,mac本身的顯示器分辨率就是72。PS中把圖像DPI也設(shè)成72浮声,就能保證屏幕上顯示的尺寸和打印尺寸相同虚婿,便于設(shè)計。72的PC顯示器分辨率逐漸成為一種默認的行業(yè)標(biāo)準(zhǔn)泳挥,這套規(guī)則就這么沿用下來然痊。

現(xiàn)在回到正題,我們怎么通過DPI來調(diào)節(jié)倍率?既然屏幕本身的分辨率是72屉符,DPI設(shè)成72剛好是1倍尺寸剧浸,那設(shè)成72的兩倍就是倍率為2的屏幕了,就這么簡單矗钟。

下面來看看3個平臺各自的畫布設(shè)置:

iPhone

iPhone的屏幕尺寸各不相同唆香,我說的是邏輯像素尺寸,這確實是讓人很頭疼的事情吨艇。如果想用一套設(shè)計涵蓋所有iPhone躬它,就要選擇邏輯像素折中的機型。

從市場占有率數(shù)據(jù)來看东涡,目前最多的是iPhone5/5s的屏幕虑凛。倍率為2,邏輯像素320x568软啼。上升勢頭最猛,未來有望登上第一的是iPhone 6的屏幕延柠。倍率為2祸挪,邏輯像素375x667。

按照這兩種尺寸來設(shè)計贞间,都是比較主流的做法贿条。可以兼顧短一些的iPhone 4s增热,大一點的6 plus也不會過于空曠整以。

不過在切圖的時候要注意,由于iPhone 6 plus的3倍圖是由2倍圖放大而來峻仇,所以位圖要注意保證清晰公黑。

Android

都說Android碎片化嚴重,但它現(xiàn)在反而比iOS好處理。因為如今的Android屏幕邏輯像素已經(jīng)趨于統(tǒng)一了:360x640凡蚜,就看你設(shè)成幾倍了人断。想以xhdpi為準(zhǔn),就把DPI設(shè)成72x2=144朝蜘。想以xxhdpi為準(zhǔn)恶迈,就把DPI設(shè)成72x3=216。

對于那些比較老的低端機谱醇,寬度是480px的那批暇仲,畫面確實會小一些,顯示內(nèi)容會更少副渴。稍微留意一下奈附,重要內(nèi)容盡量保持在界面中上部分。

當(dāng)然佳晶,這些機型不出一年就會被邊緣化桅狠,基本淘汰。現(xiàn)在能運轉(zhuǎn)的也是當(dāng)作功能機在用轿秧,軟件多了必卡無疑中跌,用戶體驗無從談起。不作考慮也是OK的菇篡。

Web

手機端網(wǎng)頁就沒有統(tǒng)一標(biāo)準(zhǔn)了漩符,比較流行的做法是按照iPhone 5的尺寸來設(shè)計。倍率2驱还,邏輯像素320x568嗜暴。

這樣的做法比較實在,倍率2的屏幕無論在iOS還是Android方面都是主流议蟆,而且又是2倍屏幕中邏輯像素最小的闷沥。所以圖片的尺寸可以保持在較小的水平,頁面加載速度快咐容。當(dāng)然舆逃,缺點就是在倍率3的設(shè)備上看,圖片不是特別清晰戳粒。

如果追求圖片質(zhì)量路狮,愿意犧牲加載速度,那么可以按照最大的屏幕來設(shè)計蔚约。也就是iPhone 6 plus的尺寸奄妨,倍率3,邏輯像素414x736苹祟。

總結(jié)

移動端的尺寸比PC端復(fù)雜砸抛,關(guān)鍵就在倍率评雌。但也正因為倍率的存在,把大大小小的屏幕拉回到同一水平線锰悼,得以保證一套設(shè)計適應(yīng)各種屏幕柳骄。站在這條水平線的角度看,會發(fā)現(xiàn)它很好理解箕般。

附上《最新Android&iOS尺寸

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末耐薯,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子丝里,更是在濱河造成了極大的恐慌曲初,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件杯聚,死亡現(xiàn)場離奇詭異臼婆,居然都是意外死亡,警方通過查閱死者的電腦和手機幌绍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進店門颁褂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人傀广,你說我怎么就攤上這事颁独。” “怎么了伪冰?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵誓酒,是天一觀的道長。 經(jīng)常有香客問我贮聂,道長靠柑,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任吓懈,我火速辦了婚禮歼冰,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘耻警。我一直安慰自己停巷,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布榕栏。 她就那樣靜靜地躺著,像睡著了一般蕾各。 火紅的嫁衣襯著肌膚如雪扒磁。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天式曲,我揣著相機與錄音妨托,去河邊找鬼缸榛。 笑死,一個胖子當(dāng)著我的面吹牛兰伤,可吹牛的內(nèi)容都是我干的内颗。 我是一名探鬼主播,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼敦腔,長吁一口氣:“原來是場噩夢啊……” “哼均澳!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起符衔,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤找前,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后判族,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體躺盛,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年形帮,在試婚紗的時候發(fā)現(xiàn)自己被綠了槽惫。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡辩撑,死狀恐怖界斜,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情槐臀,我是刑警寧澤锄蹂,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站水慨,受9級特大地震影響得糜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜晰洒,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一朝抖、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧谍珊,春花似錦治宣、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至贝润,卻和暖如春绊茧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背打掘。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工华畏, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鹏秋,地道東北人。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓亡笑,卻偏偏與公主長得像侣夷,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子仑乌,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容