Google I/O 2014提出Material Design,这段时间听到不少关于Material Design的解读,至此Google已经定位了自己的设计语言,我个人看来就是Android和iOS设计语言更加接近了。

说到Material Design,首先要说的是乔布斯倡导的拟物化设计(Skeuomorph),在智能手机初期,明确讲是触摸屏智能手机的初期,想让人们去接受和理解一个新的材质(电子触摸屏),最好的方式或许就是类比,这也是人类接触新生事物时最本能的想法,即这东西跟我们看到的过的什么类似?这这个时间拟物化能更好地给用户提示,这是相机,这是笔记本,这是图片。在早期的iPhone上你可以明显感觉到这一点。

然而拟物化也有他的缺点,对于设计师和用户来说,最大的缺点是:不统一。这是设计中的大忌,这会带来两个结果:

  • 同一套设计,对不同的人理解存在偏差。你可以参考iPhone中的游戏图标。
  • 设计师的水平对设计结果影响很大。你可以参考Apple自家的图标和一些第三方的图标。

 

苹果的乔纳森.艾维(Jonathan Ive)想解决的是第一个问题,即随着应用的大规模增加,各式各样的界面层出不穷,怎么样才能让iOS统一化这种用户体验,让设计师和用户可以很快的设计,理解并接受一个新的应用。其次乔纳森.艾维自己也说过,现在的触摸屏已经是一个“斯通见惯”物件了。最早的拟物化给用户提示的优点正在逐渐减小,而拟物化设计不统一这个特性带来的缺点却在逐渐放大。乔.艾维在iOS 7和即将发布的iOS 8中给出了自己的解。我想说的这不是推翻乔布斯的设计,我个人更觉得是乔布斯设计的一种进化,拟物化遇到了新的问题,乔纳森.艾维想办法解决,就是这样。

相反Google试图解决的是第二个问题,设计师的水平对结果影响很大,从丑陋的Android应用图标可见一斑。所以在会有小米和锤子的从绘图标运动。Google为此提出了Material Design。Material Design更像是WP扁平化的一个升级。但所带来的意义远超过扁平化,WP的扁平化唯一的优点就是来自Metro——辨识度很高,很容易做老人机。但是失去了美感,更重要的是被拍平了之后物件失去了质感,失去了物件的物理特性。Material Design将跑偏的Flat Design带回来了。用统一的,物理的,抽象的去作为自己的设计语言。

Material Design强调了:

  • 空间关系
  • 运动
  • 运动带来的空间关系的变化

Material Design中的阴影,是为了体现这种空间关键的手段,也是这样Floating Action Button才出现了。卡片式的堆叠才变的生动和合适起来。

然而物件不都是静止的,我们的交互(触摸)其实都是一种运动,运动带来了物件的变化。当我们按下了Button,阴影变小了,这反应了受我们按下的作用力两层之间的间隔缩小了。我们从排序列表是,当我们点击一行不动,这行变大了,我们知道它浮动起来了,我们可以在行间之间自由移动了。

我们以一个小示例结尾:

 

Reference:

http://en.wikipedia.org/wiki/Skeuomorph

www.google.com/design/spec/material-design/introduction.html

http://zhuanlan.zhihu.com/bigertech/19787211

从拟物化到扁平,再到Material Design的更多相关文章

  1. 直接拿来用!十大Material Design开源项目

    来自:http://www.csdn.net/article/2014-11-21/2822753-material-design-libs/1 介于拟物和扁平之间的Material Design自面 ...

  2. 十大Material Design开源项目

    介于拟物和扁平之间的Material Design自面世以来,便引起了很多人的关注与思考,就此产生的讨论也不绝于耳.本文详细介绍了在Android开发者圈子里颇受青睐的十个Material Desig ...

  3. [转]ANDROID L——Material Design详解(动画篇)

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 转自:http://blog.csdn.net/a396901990/article/de ...

  4. Android群英传笔记——第十二章:Android5.X 新特性详解,Material Design UI的新体验

    Android群英传笔记--第十二章:Android5.X 新特性详解,Material Design UI的新体验 第十一章为什么不写,因为我很早之前就已经写过了,有需要的可以去看 Android高 ...

  5. ANDROID L——Material Design具体解释(动画篇)

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! Android L: Google已经确认Android L就是Android Lolli ...

  6. ANDROID L——Material Design详解(UI控件)

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! Android L: Google已经确认Android L就是Android Lolli ...

  7. [转]Android 5.0——Material Design详解(动画篇)

    Material Design:Google推出的一个全新的设计语言,它的特点就是拟物扁平化. Material Design包含了很多内容,今天跟大家分享一下Material新增的动画: 在Andr ...

  8. ANDROID L——Material Design详细解释(UI控制)

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! Android L: Google已经确认Android L就是Android Lolli ...

  9. iOS之微博UI实例--拟物化设计(成功了90%)

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

随机推荐

  1. 介绍开源的.net通信框架NetworkComms框架 源码分析(九) IPConnection

    原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架  作者是英国人  以前是收费的 目前作者已经开源  许可是 ...

  2. 介绍开源的.net通信框架NetworkComms框架 源码分析(八)SharpZipLibGzipCompressor

    原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架  作者是英国人  以前是收费的 目前作者已经开源  许可是 ...

  3. PowerDesigner中Table视图怎样同时显示Code和Name

    1.创建一个简单table视图步骤: 1)打开软件,创建model,选择Physical Data

  4. java的spilt(“,”)方法bug处理

    java split方法以逗号分隔如字符串",,,,,," 这样会得到一个空的数组 String str ={1,2,3,,,,, } String[] str1 =spilt(& ...

  5. VS code 安装react-native代码提醒

    上GitHub:https://github.com/Microsoft/vscode-react-native Getting started Install VS Code (0.10.10+ i ...

  6. 【转】编译Lua5.3.0的iOS静态库

    This is a tutorial on how to compile Lua 5.3.0 as an iOS static library (liblua.a) on Mac OS X 10.10 ...

  7. Thinkphp各种方法知识图谱

    A方法:用于实例化控制器 ThinkPHP函数详解:A方法 B方法:执行某个行为 I方法(其命名来自于英文Input):获取输入参数 支持过滤和默认值 ThinkPHP函数详解:I方法 D方法:D函数 ...

  8. jquery刷新页面

    下面介绍全页面刷新方法:有时候可能会用到 window.location.reload()刷新当前页面. parent.location.reload()刷新父亲对象(用于框架) opener.loc ...

  9. 【背景建模】PbModel

    PbModel是基于概率模型的背景差分算法,其基本思想是像素点会因光照变化.运动物体经过产生多种颜色值,但是一段时间内,像素点处于静止状态的时间会比处于运动状态的时间长.因而一段时间内,像素点某个颜色 ...

  10. 字符串模板替换方法 MessageFormat.format

    String content = "ab,cc,{名称},{密码},{日期},dd,ff"; String array[] = {userName, password, forma ...