在之前對魅族 MX 2 的評測中,我們已經提到 Catch Note 和 Snapseed 這兩個符合 Android 官方設計規範的應用卻出現了完全不兼容 Smart Bar 的現象。在進一步深究這兩個應用發生不兼容現象的原因時,我們看到 Smart Bar 在其實現方式和對 Android 設計規範的理解上都出現了一定的偏差。
是的,Smart Bar 面臨的最大問題是兼容性。讓我們來看看 Smart Bar 的現狀:
魅族在發布會上展示完美兼容 Smart Bar 的 Google 官方應用和第三方應用有一個共同特點——他們在屏幕下方的 Action Bar 裡只放了圖標控制項(Icon)。而 Smart Bar 設計的初衷,或許就是為了更好地安置底部 Action Bar 裡的圖標。
但是從目前的狀況看來,即使是按照官方規範做出來的應用,只要在底部 Action Bar 裡出現了除了圖標之外的任何控制項(即使也是官方控制項),Smart Bar 對其的兼容都會悲劇。下面是一些例子:
▲ 四次元,一款完全按照官方 Android 設計規範製作的優秀微博客戶端,由於在底部 Action Bar 上放置了 Borderless Bottom(這是一種按鈕控制項),導致 Smart Bar 排版悲劇。
其實,四次元的小幅偏移情況已經算是比較好的了,還有更悲劇的情況:
▲ 上圖是一款剛剛上市的當紅照片處理應用 Snapseed(實際上,這是一個 Google 出品應用)。左側是 MX 2 上的效果,右側是在我的手機上的截圖。可以看到 Smart Bar 直接將其濾鏡選擇區域遮擋。Snapseed 應用完全符合 Android 設計規範。這應該是一個全屏應用,在正確的情況下 Smart Bar 應該隱藏起來。然而實際上,Smart Bar 卻沒有隱藏,而是直接進行了前後遮擋。
不過這還不是重點所在。讓我們想想別的事情:為什麼在新的 Android 上,Google 會使用底部 Action Bar 的設計? 僅僅是為了讓開發者往上面放四五個圖標控制項而已麼?放其它官方控制項可不可以?放非官方的自製控制項改善體驗可不可以?
如果你真的認為 Google 會在 Android 4.X 加入底部 Action Bar 的設計僅僅只是為了讓開發者往上面放四個圖標而已的話,那你就大錯特錯了。Action Bar 上可以放的東西遠遠不止圖標。
▲ Catch Note 這個前後遮擋的例子非常的典型。Catch Note 是個完全符合官方 Android 設計規範的同時做到與眾不同的應用。它最大的與眾不同之處就是在底部 Action Bar 上放了一個自製控制項。自製控制項對於一個應用的個性化而言是不可或缺的——除非開發者僅僅滿足於「和原生應用長得差不多」這種水平。
現在官方 Android 設計規範尚未完全普及,很多開發者仍然在摸索 Android 設計規範的合理利用方式,在模仿已有應用(Android 自帶/Google 出品)的設計和造型。在這種前提下,我們現在接觸到的符合 Android 設計規範的應用,大多數都和長得和官方提供的 Holo 主題應用類似,在底部 Action Bar 上只放了圖標控制項。所以在當前情況下,Smart Bar 對符合 Android 官方設計規範的應用兼容性還是不錯的。
但是,Google 自己做的應用只會是最基本的樣式,如果大家真的只是照著 Google 官方產品描,那是不太可能做出精品應用的。所以很多開發者開始摸索新的對 Action Bar 的利用方式。其中之一就是放置自製控制項。也有開發者開始在 Action Bar 上放 Spinner(選擇器/框架內導航),Borderless Bottom(四次元那樣的帶文字的無邊框按鈕控制項)來延伸應用的操控性。而像 Catch Note 之類的團隊,已經能夠做出符合 Android 設計規範的同時又帶有鮮明個性的應用——他們自己製作控制項,並放在底部的 Action Bar 上。
悲劇的是,一旦 Smart Bar 遇到這種類型的 Action Bar,立刻就悲劇了。因為 Smart Bar 能夠兼容的,僅僅是圖標控制項(Icon)而已。
認為在 Action Bar 上只能放圖標控制項,是對 Android 官方設計規範的一種曲解。
為什麼 Smart Bar 現在看起來似乎很美好? 我們可以看看現在的 Android 應用開發者的狀態:
Smart Bar 能做到不是「更好,至少也不會更差」,實際上是歸功於現狀。現在 Android 應用發展的趨勢是「從長得像 iPhone 應用進化到學著官方 Android 設計規範製作應用」,在開發者們普遍只是學著官方應用的樣子,只在 Action Bar 上放置圖標控制項的時候,Smart Bar 當然會有比較好的兼容性。
但是實際上,符合 Android 官方設計規範的應用中,只要在底部 Action Bar 中加入了非圖標控制項,「不是更好,至少也不會更差」就不攻自破。在國外,現在的趨勢是,各種應用對 Action Bar 的利用越來越豐富,自製控制項比比皆是。在這種情況下,Smart Bar 前後遮擋的不兼容現象就很容易發生。上面的 Catch Note 就屬於這一類。
更重要的是,Android 官方設計規範真正規定的只是一種用戶的使用體驗,而不是程序的製造方式。也就是說,只要長得像 Action Bar,提供與官方 Action Bar 類似的操作體驗,那麼沒人能看出你到底是不是真的用了官方提供的 Action Bar。利用這個特性,開發者可以自由的使用非標準控制項,自定義控制項甚至是自製控制項,而應用依然可以符合 Android 官方設計規範,為用戶提供一致的使用體驗。目前,有不少這一類應用處於與 Smart Bar 上下疊加的狀態,比如我們常用的 Evernote/印象筆記:
未來,越來越多已經精通官方設計規範的開發者,將不再滿足於和 Google 一樣只往 Action Bar 裡放圖標控制項。而是會越來越多地探索在 Action Bar 上集成更多的控制項。像 Catch Note 這樣的,在 Action Bar 上利用自製控制項實現個性化和更多功能的應用會大規模出現。到了那時,Smart Bar 的存在就只剩下限制這些控制項的發揮和浪費空間兩個作用了。
就國內 Android 生態而言,Smart Bar 看起來似乎是具有遠見的設計。但是就整個 Android 生態圈而言,Smart Bar 的存在反而制約了開發者對 Action Bar 的創造性利用,並且將國內開發者引導向了一個錯誤的方向。
當國外優秀應用都在積極地探索 Action Bar 的更多可能性時,魅族並沒有完全理解 Android 官方設計規範的初衷,用並不聰明的 Smart Bar 給國內開發者對 Action Bar 的利用設下了只能放置圖標控制項的限制,從這個角度來看,不得不說使用 Smart Bar 是一個比較短視的舉動。
當然,我們也知道當前版本的 Smart Bar 只是早期的實現形式。隨著國內 Android 生態的發展,我們也希望看到魅族能讓 Smart Bar 變得越來越聰明,為更多的可能性提供更好的兼容。至少,下一次在我打開 Catch Note 的時候,不要再看到前後遮擋這種尷尬場景了吧~