@lovesosoi
2017-10-28T09:24:58.000000Z
字数 1354
阅读 1004
Material Design,是谷歌在14年的IO大会上提出的一种新的理念,也被称为新的设计语言(也被称为“原材料设计”),称它为设计语言不为过,但是实际上,这仅仅是谷歌提倡的一种新的设计风格、理念以及设计基本原则。
Material Design 在Android 5.0 后 被 Goole 引入,发布了关于Material Design 的官方学习资料。
传送门:https://developer.android.google.cn/about/versions/lollipop.html
Material Design重点在于一点,它的存在,让控件有了生命,对应的也拥有了层次感,提升了用户交互感触。
那么层次感又是什么呢?如下图所示:
之前,仅仅是X、Y轴,而现在新增了一个Y轴,也就是屏幕上方位置,具体与用户交互效果如下:
那么对于不同的职业对待它的标准又是什么呢?
* 美工:尽量遵循Material Design设计,提升原有界面UI以及图标设计;
* 产品:尽量遵循Material Design界面设计、界面跳转、动画效果、以及与用户交互设计;
* 开发: 实现基于Material Design设计
谷歌开发以及收集了一些最新的开源的项目,汇集到最新的support兼容支持包以及最新的5.X API里面。而关于support包,我们不得不提有如下几点:
android-support-v4:最低兼容到Android 1.6系统,里面包含类似ViewPager等控件;
android-support-v7:最低兼容到Android2.1的系统,这个工程可以让开发人员统一开发标准,在任何的系统版本下保证兼容性,but,其中有的控件就不能兼容到2.1,比如我们强大的recyclerView,它最低兼容到3.0
而关于兼容性,我们会在下面进行讲解说明。But,大家在引入v7的时候,是不是总会有些问题?这里为大家举例说明一下:
自动导入的appcompat-v7项目自身就是报错的,什么原因?
build的版本太低了,要么是SDK很新但是兼容包没有更新。
appcompat-v7好不容易没报错,但是项目报错,一看控制台:报appcompat里面的某个res/values/theme/xxx属性不存在 等等问题,这又是什么原因?
因为你引入的是很新的appcompat-v7项目,它要求必须很高的版本编译,所以直接使用最高版本编译即可。
1.首先引入 Material Design 依赖
compile 'com.android.support:design:26.0.0-alpha1'
2.新建一个简单的 Material Design 的页面
展示的页面如下:
其中包括了Material Design 常用的 CoordinatorLayout 、 AppBArLayout 、 CollapsingToolbarLayout 、 FloatingActionButton。(这些控件之后会重点讲解)