Material Design的前世今生(介绍篇)

来源:互联网 发布:hyperion 软件 编辑:程序博客网 时间:2024/06/06 18:49

        前言

          Android一开始充满着旧Google时代的风格:自由、放任。开发者可以任意上传自己的应用,而不必通过审核;开发者可以随意按照自己的想法设计应用,Google方面不予任何限制。可以说,Android一开始就是一片Google开辟的荒地,他允许每个人都可以随意使用,结果是所有人都各行其是,让这块荒地乱糟糟的。

      这种情况一直延续到Android 4.0,从Palm跳槽到Google担任Android用户体验副总裁的马蒂亚斯·杜瓦迪(Matias Duarte)上任后,才真正提出设计指导。而Google I/O 2014上着重展示的Material Design,以非常高调的方式,宣布了Google Design的存在:不欣赏设计,对设计毫无感觉的Google已是昨日。

      在发布会当时,Google还上线名为Google Design的网站。从Android到衍生的Android Wear、Auto和TV,Material Design贯穿其中,成为沟通不同平台、设备的灵魂,让用户在不同平台上也有连贯的体验。为了维护这种一致性,Google甚至不允许第三方修改Android Wear、Auto和TV的界面以及交互,十分强势。     

Material Design,它的设计美学将会融入到谷歌所有的平台之中,包括Chrome OS和网页,它也将形成一个统一的外观,将所有的产品捆绑在一起。扁平化的设计,加上明亮的色彩,Material Design的视觉效果相比之前有了一个质的飞跃。 在Android平台上,5.0系统及以上版本所使用的设计风格就是Material Design,同时Google也开放了Material Design的官方中文文档,官方中文文档网址:https://developer.android.google.cn/design/index.html 


一、核心思想

       所谓Material Design,即原质化设计,使用了隐喻的材料设计风格,它不在视觉上模拟特定材料,所以比较容易控制用户的期望。比如在屏幕上画出很像纸质通讯录的通讯录,然而用户期望的纸质通讯录可以翻页,可以折角,可以用笔批注,甚至有纸的触感。而一个不明材料制成的卡片,用户的期望可能只是可以移动而已,而这恰恰是我们想通过卡片表达的隐喻。




      Material中,屏幕上的元素还是由类似真实世界的材料构成的物体,有类似的物理属性(形状比较固定,占据一定空间,有前后遮挡关系,会投射阴影,可以移动...)。而极端的Metro和比较中庸的Holo,都倾向于屏幕上的元素只需要具有像素本身的属性,而不必模拟真实世界。所以我们看到,在去掉阴影的潮流中,阴影又变得无处不在。另一方面,由于真实世界的物体通常不会瞬间、凭空出现和消失,所以平移、旋转、扩展和画面外飞入代替了原来从屏幕中间出现的过渡动画。
       总之,Material Design 的核心思想就是,把物理世界的体验带进屏幕。去掉现实中的杂质和随机性,保留其最原始纯净的形态、空间关系、变化与过渡。配合虚拟世界的灵活特性,还原最贴近真实的体验,达到简洁与高质感。这就是原质化设计。


二、卡片式材质与空间设计

  • 卡片式材质的设计

         这些是卡片隐喻的魔法特性,真实纸片所不具备的能力:

  1. 纸片可以伸缩、改变形状。
  2. 纸片变形时可以裁剪内容,比如纸片缩小时,内容大小不变,而是隐藏超出部分。
  3. 多张纸片可以拼接成一张。
  4. 一张纸片可以分裂成多张。
  5. 纸片可以在任何位置凭空出现。


  • 空间概念

       Material design引入了空间的概念,即:z轴垂直于屏幕,用来表现元素的层叠关系。z的值越高,元素离界面底层(水平面)越远,投影越重。这里有一个前提,所有的元素的厚度都是1dp,所有元素都有默认的高度,对它进行操作会抬升它的海拔高度,操作结束后,它应该落回默认海拔高度。同一种元素,同样的操作,抬升的高度是一致的。


三、动画

   1.水波纹效果

      推荐一篇水波纹源码解读文章http://www.jianshu.com/p/c23cf6525532


        2.细节动画


        3.转场过渡动画


        4.easing

     动画要贴近真实世界,就要重视easing。物理世界中的运动和变化都是有加速和减速过程的,忽然开始、忽然停止的匀速动画显得机械而不真实。考虑动画的easing,要先考虑它在现实世界中的运动规律。

 


四、色彩与主题

Material Design默认有三个主题

  • Theme.Material:黑色主题

  • Theme.Material.Light:明亮主题

  • Theme.Material.Light.DarkActionBar:明亮主题,带黑色的ActionBar。

要使用这些默认主题,只要在项目的style.xml文件中修改theme即可:

    <resources>            <!-- Base application theme. -->            <style name="AppTheme" parent="android:Theme.Material.Light.DarkActionBar">                <!-- Customize your theme here. -->            </style>        </resources>




另外还有一个中文网站http://design.1sters.com/ 是一个兴趣社区组织维护的项目,也是关于Material Design 的介绍的。本文就简单介绍了一下,更全面详细的内容可以在这上面了解。希望能帮到大家!


1 0