Material Design Material Design简介 Material Design是谷歌新的设计语言,谷歌希望寄由此来统一各种平台上的用户体验,Material Design的特点是干净的排版和简单的布局,以此来突出内容. Material Design对排版.材质.配色.光效.间距.文字大小.交互方式.动画轨迹都做出了建议,以帮助设计者设计出符合Material Design风格的应用. Material Design设计语言鼓励大家使用充满活力的鲜艳色彩,并在同一界面建议使用…
概述 2014年,Google携Android5.X重装归来.全新的UI设计和更加优化的性能,令开发人员眼前一亮 安装和配置Android5.0开发环境 开发Android还得靠AS.下载地址 http://developer.android.com/intl/zh-cn/sdk/index.html 材料设计概述 材料的形态模拟 Google通过模拟自然界纸墨的形态变化.光线与阴影.纸与纸之间的控件层级关系,带来一种真实的空间感 更加真实的动画 Android5.x大量添加了各种新的动画效果,…
Android5.0 Material Design设计的动画效果 RippleDrawable涟漪效果 涟漪效果是Android5.0以后的新特性.为了兼容性,建议新建drawable-v21文件夹来存放RippleDrawable,drawable文件夹下也要放相应的适配图片.(这里可以安装一个AndroidSelector插件,具体的可以参考https://blog.csdn.net/oqihaogongyuan/article/details/53102615的第三部分) 涟漪动画主要是…
兼容性 虽然Material Design新增了许多新特性,但是并不是所有新内容对对下保持了兼容. 使用v7包 v7 support libraries r21 及更高版本包含了以下Material Design特性: 使用Theme.AppCompat主题包含调色板主体属性,可以对应用的主题做统一的配色,但是不包括状态栏和底部操作栏 RecyclerView和CardView被独立出来,只要引入jar包,即可适配7以上的所有版本. Palette类用于从图片提取主色调 系统组件 Theme.A…
阴影和剪裁 View的z属性 Material Design建议为了凸显布局的层次,建议使用阴影效果,并且Android L为了简化大家的工作,对View进行了扩展,能使大家非常方便的创建阴影效果: 给View添加了一个新的属性:Z 属性,用于描述视图距离它父视图的高度: 在5.0之前,我们的视图都是二维的,只有x轴和y轴,现在,android新增了z轴.x轴和y轴描述了一个view的大小和位置,而z轴描述了view在父视图上抬起的视觉,体现效果就是阴影.下图的两个view的z属性分别为2dp和…
全新的动画 在Material Design设计中,为用户与app交互反馈他们的动作行为和提供了视觉上的连贯性.Material主题为控件和Activity的过渡提供了一些默认的动画,在android L上,允许自定义这些动画: Touch feedback  触摸反馈 Circular Reveal  圆形展示 Curved motion       曲线运动 View state changes  视图状态变化 Vector Drawables 矢量图动画 Activity transiti…
RecyclerView是Android5.0以后推出的新控件,相比于ListView可定制性更大,大有取代ListView之势.下面这篇博客主要来实现RecyclerView的上拉加载更多功能. 基本思路是让RecyclerView的Adapter加载两种布局,第一个布局来显示主界面,第二个布局来显示上拉加载时的提示信息,让RecyclerView监听是否滑动到最后一个item,如果是,则调用上拉刷新的逻辑,拉取远程数据,并显示第二个布局.等加载完毕时,刷新 Adapter,并隐藏第二个布局.…
图片和颜色 tint属性 tint属性一个颜色值,可以对图片做颜色渲染,我们可以给view的背景设置tint色值,给ImageView的图片设置tint色值,也可以给任意Drawable或者NinePatchDrawable设置tint色值. 在应用的主题中也可以通过设置 android:tint 来给主题设置统一的颜色渲染. tint的渲染模式有总共有16种,xml文件中可以使用6种,代码中我们可以设置16种,渲染模式决定了渲染颜色和原图颜色的取舍和合成规则: PorterDuff.Mode.…
新增的Widget RecyclerView RecyclerView是ListView的升级版,它具备了更好的性能,且更容易使用.和ListView一样,RecyclerView是用来显示大量数据的容器,并通过复用有限数量的View,来提高滚动时的性能.当你的视图上的元素经常动态的且有规律的改变时候,可以使用RecyclerView控件. 与ListView不同的是RecyclerView现在不再负责布局,只专注于复用机制,布局交由LayoutManager来管理. RecyclerView仍…
最近开发,UI大牛们设计了好多很炫酷吊炸天的动画,不由得重新学习了一下5.0的ObjectAnimator动画. ObjectAnimator动画的原理,通过反射控件的setXXX方法,改变控件的实际属性值,来达到控件状态改变的动画效果. 首先话不多说,先上效果图. 我们先介绍几个演示效果中用到的ObjectAnimator的方法 我这里只针对ofInt()和ofFlot方法进行说明,其他的方法原理类似,这里不做过多说明. 首先是第一个字体变色的效果.这里用的是ofInt方法.代码比较简单: /…