Android 5.0

最近完整地把Material Design(需翻墙)的spec阅读一遍,把读后的心得记录在此。

设计语言

  Material Design是Google第一次把一套完整的设计语言形成Spec。不过难以预计的是这次的设计语言会在多大程度上被互联网公司、个人开发者所接受与使用,尤其在众多定制化ROM百花乱放的现状下。
  简单来说Material Design即让1dp厚度的控件如何通过各自的阴影来表现层级关系。Spec非常详细地描述了大至设计由来小至界面标注动画曲线等等,甚至用大量的Dos&Don’ts来一一举例说明。
  此外,Material Design是一套跨平台的设计解决方案,不仅针对手机、平板,桌面设备也被纳入。Inbox这一明星产品已经进行了尝试,预计不远的将来更多的产品及设备都会更新。

Floating action button(悬浮按钮)

  spec建议Floating action button作为Primary action button(首要操作),可以浮动于界面的底部或置于标题与列表之间作为区分。它的功能以及交互逻辑与Path的圆形加号按钮没有本质区别,比较让人费解的是在inbox应用中点击该按钮展开更多功能后却不是再次点击相同位置关闭菜单,而是放置了compose的操作,习惯了Path操作的话会直接导致误触。另外spec里给出的文件列表示例中,通常情况下,“浏览文件”与“新建文件”比较难确定哪个是Primary action,所以采用该示例会有些牵强。

Animation(动画)

  5.0spec中用一整章的篇幅来说明动画,足见官方对这一版本中动画的重视程度。如果没记错的话,4.x及之前Android OS版本自带的动画效果没有非常明显的动画曲线,可以说基本是线性动画。spec中分别通过Authentic motion(真是动画)、Responsive interaction(响应交互)、Meaningful transitions(有意义的转换)、Delightful details(令人愉悦的细节)来说明动画应遵循的原则。
  令人印象深刻的是,有意义的转换中的示例是动画中的亮点。尤其是Google calendar中添加提醒事件的转场效果,充分的用有效的动画效果完成界面的跳转。

Google calendar转场效果

Style(风格)

  经过如此多版本的变化,Android OS的风格越来越趋于明亮、简洁。5.0版本中一个非常明显的变化是,界面中的信息密度大大降低了,同时spec中多次强调留白的作用。Style这一章节非常细致的讲述了Color、Icons、Imagery、Typography的设计运用方法,也是首次将Imagery纳入spec。此外,5.0还引入了新的系统字体:Noto。

Components(组件)

  一些组件在这一版本也有不小的变化,比如Dialogs的按钮在一般状态下为平面样式,表单输入框控件引入了浮动标签。更具体的说明可以直接阅读spec,更多细节就不在此一一列出了。

  如此详细的Spec大大降低了开发者的设计门槛,遵循说明便可以设计出中规中矩甚至看起来还不错的App界面。48dp在spec中依旧是一个非常重要的尺寸,最小触摸响应区域沿用了这一尺寸。