写在最前面的话
最开始我在毕业的时候做Android,当时还没到Android5.0,没有Material Design,当时的设计都是以立体仿3d效果为主。后来有了扁平化设计,我却开始了SDK各种功能组件库的开发,几乎不涉及到任何界面开发,对Material Design了解真的不是很多。网上关于Material Design的学习资料很多,但也很杂,没有一个成体系的介绍,我打算做一个专题来介绍Material Design。我现在也是边学习边总结,所以写出的文章适合初学者学习,大神请忽略。如果有什么不对,欢迎指正。
Material Design是什么
Material Design是一种设计风格,是谷歌为广大开发者提供的一种全新的设计风格,同事提供了相关的库方便开发者进行开发。这包括字体,主题,组件等。
如果只适配Android5.0之后的版本,如果需要适配之前的版本,需要依赖一个额外的库。这个后面会提到。
Material Design的特点是:
- 扁平化、简洁
- 水波反馈
- 良好体验的过渡动画
- 材料空间位置的直观变化
在这里看一下效果:
Android Design Support Library
就像上面提到的,如果适配5.0以下的系统,需要添加Android Design Support Library,这可以适配到2.1以上的系统。
compile ‘com.android.support:design:23.2.1’
组件
Android Design Support Library中包含了一些常用的组件,这些我们都放到后面的文章中介绍,这里只做简单的介绍:
- android.support.design.widget.TextInputLayout 强大带提示的MD风格的EditText
- android.support.design.widget.FloatingActionButton MD风格的圆形按钮,来自于ImageView
- android.support.design.widget.Snackbar 类似Toast,添加了简单的单个Action
- android.support.design.widget.TabLayout 选项卡
- android.support.design.widget.NavigationView DrawerLayout的SlideMenu
- android.support.design.widget.CoordinatorLayout 超级FrameLayout
- android.support.design.widget.AppBarLayout MD风格的滑动Layout
- android.support.design.widget.CollapsingToolbarLayout 可折叠MD风格ToolbarLayout
风格
其实这篇文章我还暂时没打算介绍代码相关的东西,既然说了是前言,主要是先有个材质设计的概念。
http://www.uisdc.com/comprehensive-material-design-note 这篇文章详细介绍Material Design的风格很全面。我以下介绍会有一部分内容来自该文章。除了程序员,产品经理还是需要看看的,不要一设计就是仿照IOS的风格,Android是有自己的风格的,真的不比IOS差。
Material Design将物理世界的许多特性带进了手机世界中。有了各种效果如水波纹,伸缩等,同时引入了Z轴的概念。