屏幕適配那些事(03)幾點建議

屏幕適配是一個老生常談的問題了,我用這三篇博客和大家討論點屏幕適配相關(guān)的干貨。


“如果方向錯了,走得越遠(yuǎn),偏離目標(biāo)越遠(yuǎn)?!?/strong>對于屏幕適配,設(shè)計稿就是“目標(biāo)”,開發(fā)者對于設(shè)計稿的理解就是“方向”。很多適配糟糕的界面并不源于“糟糕的設(shè)計”或者“糟糕的實現(xiàn)”,而是因為設(shè)計師設(shè)計出了不可適配的界面或者開發(fā)者沒有理解適配意圖

這里給出一些建議,希望幫助到大家,如果你有其他好的建議,也希望能分享出來,歡迎討論。

使用邏輯分辨率

設(shè)計稿使用邏輯分辨率是是很重要的一點。推薦邏輯分辨率并不是因為我作為一個開發(fā)者懶得進(jìn)行單位轉(zhuǎn)換,而是Android和iOS在進(jìn)行UI布局時都是使用邏輯像素為單位,使用邏輯像素作為設(shè)計稿的單位除了上面說的減少單位轉(zhuǎn)換,還可以減少很多不必要的麻煩。

  1. 使用像素為單位,設(shè)計師可能輕松設(shè)置出13px這樣的尺寸。這種尺寸在多個分辨率之間轉(zhuǎn)換和縮放時,就會在個別屏幕上出現(xiàn)“半像素”。素質(zhì)好的設(shè)備,會讓邊緣看起來發(fā)“虛”,素質(zhì)不好的屏幕,就可能出現(xiàn)“彩邊”。然后,你再想想一下線條充滿半像素的圖標(biāo)……而使用邏輯分辨率就幾乎不會有這個問題,大部分屏幕的邏輯像素密度都是整數(shù),對邏輯像素為單位的尺寸放大渲染時,同樣總能得到整數(shù)。
  2. 像素對齊切圖。如果使用邏輯分辨率,對于圖標(biāo)的像素對齊,只需要考慮單像素對齊即可;如果以某個特定的屏幕像素分辨率進(jìn)行設(shè)計,很容易出現(xiàn)難以進(jìn)行像素對齊的圖標(biāo)。應(yīng)用開發(fā)中,一般會有一個規(guī)范的圖標(biāo)尺寸,就像一個邊界,比如14或16,這樣能保證所有圖標(biāo)都能看起來“重量相同”;而且為了防止縮放出現(xiàn)虛邊,一般都是偶數(shù)。還拿剛才的尺寸舉例,如果設(shè)計稿尺寸為iPhone6的分辨率,要切出一個13px的圖標(biāo),就很尷尬了,這里可以將圖標(biāo)縮放到偶數(shù),再進(jìn)行切圖(我平時就是這么干的)。
  3. 更麻煩的問題是如果設(shè)計稿不使用甚至不考慮邏輯像素密度,會出現(xiàn)下面的情況:一組線框風(fēng)格的圖標(biāo),在邏輯像素密度為2的設(shè)計稿上,描邊寬度為2,在邏輯像素密度為3的設(shè)計稿上,描邊寬度也為2,這就導(dǎo)致沖突——同一組圖標(biāo),不同的圖標(biāo)描邊寬度不同(視覺重量不同)。很可能在你切一組圖標(biāo)到一半的時候,發(fā)現(xiàn)寬度不對,之前切的圖全都要重新來過,甚至重新放到項目里。

給設(shè)計師的建議:

  1. 使用邏輯分辨率作為設(shè)計稿畫布尺寸。比如375×667,這是iPhone 6的邏輯分辨率。

  2. 規(guī)范圖標(biāo)尺寸,可以參考一些UI模板,比如Sketch內(nèi)置的Material Design模板,其中對于圖標(biāo)會有Symbol的處理。不僅切圖方便,設(shè)計時也可以方便使用外邊框進(jìn)行對齊,進(jìn)行規(guī)范布局。

    material_design_icon
  3. 盡量不在布局中使用px單位,針對特殊布局元素,需要使用1px或者2px的地方,比如極細(xì)的分割線,要進(jìn)行標(biāo)注。

給開發(fā)者的建議:

  1. 使用dp作為單位。
  2. 規(guī)范切圖,對可避免的半像素要及時反饋給設(shè)計師重繪或者微調(diào)后切圖。
  3. 如果Android開發(fā)者拿到的是iOS的設(shè)計稿(我知道這個情況實在太普遍了),要知道你要針對的屏幕和設(shè)計稿并不相同。舉個例子,你拿到了iPhone6的時間稿,其中的內(nèi)容區(qū)域距離邊框12dp,如果在Android上也是照搬尺寸,距邊框16dp,那么最終的還原質(zhì)量是不會太好的,假設(shè)16dp在iPhone6上的物理尺寸是x inch。拿Nexus5舉例,物理尺寸是(375 / 360) / (4.7 / 5.0) x ≈ 1.1x,也就是增大了10%。簡單說就是近似物理尺寸的Android設(shè)備屏幕普遍會“放大”iPhone設(shè)計稿的尺寸,所以對于“邊距/間隔”可以適當(dāng)縮小,比如:12dp可以使用10dp/8dp替代,以便保證更大的內(nèi)容顯示區(qū)域。

響應(yīng)可變屏幕

“響應(yīng)可變屏幕”是我想到的一個概念,是說不管是設(shè)計還是編碼階段,要有一個意識,屏幕的尺寸是會變的:可能等比例變大變小,也可能高度或?qū)挾葐为氉兓?/strong>。這其實是有意識針對多分辨率屏幕進(jìn)行布局的形象說法。

屏幕分辨率變化就會導(dǎo)致界面布局變化。要應(yīng)對這種變化,就要讓界面上的元素根據(jù)屏幕變化多少進(jìn)行特定的響應(yīng)。有點類似Web開發(fā)中的響應(yīng)式設(shè)計。

舉個例子,如下圖:
layout

當(dāng)屏幕從iPhone6變成iPhone6plus的尺寸,第一種響應(yīng)方式就是不合理的,第二種方式就是合理的。各自的邏輯大家可以猜一下。

就像文章開頭的例子一樣,開發(fā)者對設(shè)計師意圖的正確理解是好的屏幕適配的重要原因。對此,我的建議是這樣的:

  1. 設(shè)計師和開發(fā)者都要有響應(yīng)可變屏幕的意識,開發(fā)者要站在設(shè)計師的立場去思考對方是怎么考慮屏幕變化時的響應(yīng)的;設(shè)計師在解釋設(shè)計稿時,也可以有意識的針對不容易想到的地方多做說明。
  2. 盡量少的使用不能拉伸和擴展的界面,有意識的放置可變尺寸元素??梢杂^察下iOS和Android的內(nèi)置應(yīng)用,幾乎所有App的所有界面上,都有可變尺寸元素的存在,比如一個可以滑動的列表或者可以伸縮的內(nèi)容,甚至整個頁面支持滾動。在考慮屏幕適配時,加入可變尺寸元素是性價比最高的布局方法。
  3. 平時多觀察其他App的處理方式。目前市場上成熟的App非常多,使用其他App時也可以思考下他們的界面是怎么做適配的,可以使用開發(fā)機或者模擬器在不同屏幕上檢驗自己的想法。

使用Sketch

Sketch非常適合移動UI的設(shè)計工作,不管是設(shè)計師和開發(fā)者,掌握Sketch的使用都是一個加分項。PS的領(lǐng)域是圖像處理,是duangduangduang~加特效,甚至是藝術(shù)創(chuàng)作;相比而言,Sketch在最初就是為了UI設(shè)計服務(wù)的(確切的說是為屏幕顯示內(nèi)容的設(shè)計服務(wù)的)。

  • 更輕量、更快。矢量支持、像素預(yù)覽。樣式支持。新版還原生支持了類似Autolayout的布局。導(dǎo)出功能、實時預(yù)覽功能……
  • 豐富的插件。推薦個:CraftManager,幫你填充占位內(nèi)容的工具。
  • ……

簡單的描述Sketch的使用體驗,不僅僅是所見即所得,更像是直接在手機或者瀏覽器中設(shè)計。僅作為一個開發(fā)者,我就不多說了,大家感興趣就去體驗下吧。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,327評論 6 537
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,996評論 3 423
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 177,316評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,406評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 72,128評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,524評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,576評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,759評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,310評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,065評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,249評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,821評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,479評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,909評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,140評論 1 290
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,984評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 48,228評論 2 375

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