在國內,有個頗有意思的現狀。一方面,幾個國內最大的公司/企業的客戶端/應用依舊冥頑不靈,絲絕不願意遵循 Android Design,以各類扯淡的理由堅持使用 iOS UI 或者 Metro UI,或者其餘叫不出名字的 UI;另外一方面,Holo Theme 做爲 Android Design 的一部分,漸漸爲更多的用戶和開發者所知曉。不少我的開發者都開始在 Play Store 和國內各大市場發佈較爲簡陋但符合 Android Design 的應用。 web
什麼是 Android Design? 這個詞不多被人提起,就算被提到,不少人對它的理解也是錯誤的。甚至如今提到 Android Design,不少人會作出」啊,知道,就是黑色的背景和灰藍色的平的按鈕嘛」這種使人哭笑不得的反應。因而,做爲國內最先一批瞭解 Android Design 的人,本文準備理一理Android Design 和 Holo Theme 的關係,探討一下它們的本質。 微信
先從比較小的入手。 框架
Holo Theme 是 Android Design 的最基礎的呈現方式。由於是最爲基礎的 Android Design 呈現形式,每一臺 Android 4.X 的手機系統內部都有集成 Holo Theme 須要的控件,即開發者不須要本身設計控件,而是直接從系統裏調用相應的控件。若是徹底使用 Holo Theme,那麼作出來的效果大體是下圖這樣的。 佈局
能夠看出,這些應用在 UI 方面沒有任何的亮點,和 Android4.X 的設置/電話的視覺效果極度統一。由此帶來的好處顯而易見,這個應用做爲 Android 應用的辨識度極高,且徹底不可能與系統風格產生衝突。不過,調用系統控件在天朝是風險十足的行爲,由於 MIUI 和不少國產ROM 私自替換了 ROM 中 Google 本來規定保留的 Holo 控件,這樣直接致使了一個本來在原生系統上運行時是 Holo Theme 的應用在 MIUI 之流上運行時變成不三不四的樣子。 優化
本來徹底符合 Android Design 但由於 MIUI 而變得不三不四的兩個應用:Dropbox 和 Press 動畫
在這裏我必須再埋汰一下 MIUI,這喪心病狂的東西不但篡改系統自帶的 Holo 控件,還擅自更改開發者嵌入應用的 Holo 風格控件,簡直罪大惡極。不過,三星和 HTC 也對一些系統的 Holo 控件作了修改(固然沒有像 MIUI 這麼喪心病狂)。在這方面作得最好的反而是魅族,魅族修改的控件都依然符合 Android Design。 spa
而 Holo Theme 最大的特色是什麼?簡單,質樸。Google 提供的 Holo 控件是不可能違背 Android Design 的,而這些控件的樣式和配色也很是保守,不會影響用戶的操做或者分散用戶的注意力,Holo Theme 的佈局也是最爲普通的列表。而 Android 系統對這些默認元素的優化已經很到位了,因此就算是默認的 Holo 主題也能帶來不錯的閱讀/操做體驗。 設計
可是,就如同在 Windows Phone 上的 Metro UI 引發的一個問題同樣,若是開發者全盤在照搬 Holo Theme,那麼最後的結果就是作出來的應用除了圖標以外都長得一個樣。這個時候,開發者就須要跳出 Holo Theme 這個框架,進入更高的境界了。 rest
Holo Theme 是 Android Design 的一部分,是 Android Design 最基礎的表現形式。若是要以 VennDiagram 來表示的話,大概是下圖這樣的。 htm
若是整個背景的淺灰表明了 Android Design,那麼其中淡藍的圓圈即是 Holo Theme。曾經在 Android4.0 剛剛發佈的時候,Holo Theme 仍是Android Design 的絕對的主流,可是時至今日,Android Design 的主流早已遠離 Holo Theme 而去。
那麼 Android Design 到底是什麼?
是」擬真「。
Android Design 的」擬真」是根植於基因中的。Android Design 的主導者(也是創始人)之一的 MatiasDuarte 在 webOS 上就已經開始踐行擬真這一信條了。回想 webOS 的卡片吧,那就是 Android Design 遙遠的雛形。
webOS 的卡片式多任務操做,即是 Android Design 的真的元祖。在以前的文章裏我也提到,Android Design 的每一個控件都在極力模擬光影與凹凸感。這就是 Android Design和 Metro Design 最大的不一樣。Metro 不擬真,Android 擬真。
那麼 Android Design 和 iOS Design 最大的不一樣又是什麼? 咱們都知道 iOS 以」擬物」而聞名。而 iOS 和 Android 的最大不一樣就在於它們」擬」的對象不一樣。若是要以 VennDiagram 來表示的話,大概是下面這樣的。
底座的皮革表明擬物,中間的藍色矩形表明擬真。Android 拋棄了堪稱」擬物」之核心的材質與具體的樣式,保留了光影效果,立體感和抽象的操做方式。在真正的 Android Design 中,你不會看到任何對材質的模仿,對現實中事物的模擬也只會以抽象的形式出現。
普通的 Android Design 隨處可見,不少國際大廠也作出了很是精美的 Android Design 應用,好比 Pocket、Evernote 及 Pintrest。下面是我的以爲最棒的 Android Design 應用的截圖。
上面展現的這些應用很大的共同點就是,它們都作到了出色的光影效果與清晰的層級表達。這些應用大多數都使用了自制控件和自定義佈局。自制控件的好處 有不少,其中之一就是能夠保證在大多數機器上看起來都是一個樣子(固然趕上 MIUI 這樣的惡棍就沒辦法了,道高一尺魔高一丈)。而自定義佈局可以對平板更友好,也可使得應用內的導航更加便利,好比 WeatherEye 的手機版和平板版:
在開始論述以前,先來看幾張圖片。
這幾張圖片,就是表明性的」次世代 Android Design」。在以前那張文氏圖裏,綠色的大圓就是它們。那麼它們有什麼特徵呢?
也許我也能夠簡單粗暴的總結爲」更加氾濫的使用卡片」? 不管是 Google Now 仍是 Keep,它們都大量的使用卡片飛入這個動畫,和使用滑動卡片消除這一手勢。而卡片的使用範圍也已經從單純的複合內容擴展到對話(Hangouts),表單(鬧鐘)等地方,卡片的展現形式也從單純的卡片流進化到卡片組,卡片平鋪等等。
最開始的時候 Android Design 給人的印象基本上就是黑底藍色加亮,可是在新一代的 Android Design 中,Google 採用了豐富多彩的配色。不過,雖然配色的使用變得豐富,這些配色依然都是低飽和度,不是很鮮豔,搭配起來比較容易的中性色。而新一代 Android Design 應用逐漸拋棄了黑底,大多采用柔和的淺灰底色配上白色卡片。
除了標準的列表、Tabs、Spinner 等交互方式,新一代 Android Design 應用中愈來愈多的用到了 Drawer 這樣的頂級導航方式。Drawer 的加入彌補了本來 Android Design 在導航方式上的短板,同時也解放了屏幕空間。除了 Drawer,還有不少全新的交互形式——好比Qucikreturnlistview(向下捲動時隱藏 SplitActionBar 和/或ActionBar,向上捲動時顯現),右劃返回等——極大地改進了屏幕空間的利用率,對用戶更爲友好。而卡片式UI 的泛用也使得滑動消除/開啓隱藏功能這一手勢廣爲流傳。
在早些時候,Android Design 在平板上的應用佈局形式還只有比較單一的」列表|詳細」這種和 iOS 平板沒什麼兩樣的佈局形式。而新一代的Android Design 在平板上的佈局變得更加靈活——很大一部分能夠說歸功於卡片式UI 的泛用——產生了五花八門的平板佈局。這些平板佈局在對應正確的內容形式的時候,會極大的提高用戶體驗。
更加宏觀的說,新一代的 Android Design 正是新一代的 Google Design。拿前天的 I/O大會作例子,能夠發現,下一代的 Google Maps 不管是在 Web(還沒有開放)仍是 iOS版仍是 Android版(還沒有發佈),它們的 UI 都是一脈相承的,讓人可以一眼認出。而已經發布的 Google+ 更是在全平臺上作到了 UI 風格的徹底統一。
而 UI 統一的直觀體現就是如今 Google 力推新一代 Android Design。這樣的例子還有不少,好比 Play Music 的新移動端/網頁端界面。能夠說,推行新一代 Android Design 使得 Android 身上 Google 的烙印更加深入,而 Google 也在從不一樣的角度反過來借鑑 Android Design 的不少設計。新一代 Android Design 是 Android Design 和下一代 Google Design 融合的第一步。
很不幸的是,在國內,Android UI 的現狀就是個人標題。愈來愈多的人知道 Holo Theme,並且拜該死的魅族所賜,還有很多人誤覺得那就是所謂的」Android4.0規範」。而真正瞭解 Android Design 的人則太少太少,瞭解 Android Design而又能運用自如的,我如今還沒見到——也許撫波的開發團隊將會是第一個。
能夠說在 Android4.X 時代,國外的優秀開發者正在把國內開發者甩得愈來愈遠,而國外 Android UI 設計的整體水平已經徹底不在國內水平追趕範圍以內了。這種現狀做爲用戶看來,實爲痛心疾首。
不過也許狀況確實是稍有好轉吧。一年前我在向開發者宣傳 Android Design的時候,還有不少人拒不接受。而現在,就在不久以前才傳出消息,騰訊將會在往後給微信 for Android 用上 Android Design。而普通用戶對 Android Design 的瞭解也變多了 (Holo Theme 畢竟也算是Android Design 的一部分),新浪甚至爲了 MX2 專門推出了一個符合 Android Design 的微博版本(雖然基本上就沒更新過)。