打开动画的大门
上帝为你关闭一扇窗,同时也会将门给你焊死,所以不要多想了!!!
按照国际惯例,先来一段自我介绍,自报家门;
大家好,我是一名Android程序员,我叫冰雪情缘,本人 国产原装,零件完好;
今天很高兴给大家讲解Android动画了解;
本文会 以 栗子 + 知识点 + 项目经验总结 的方式 进行讲解,由于本人水平有限,不足的地方还请谅解。
这里感谢公司提供的平台,也感谢 动效,设计师,产品不断提出的要求,才能让我们在技术上不断的探索以及学习,实践中成长,也感谢大家百忙之中抽空来这里听我讲解,谢谢大家;
那我们进入正题吧!!
内容 包括 视图和属性动画,过渡动画,RecyclerView动画,其它相关动画了解,下面是文章的整体大纲.
为什么需要动画
如何将物理世界与虚拟界面产生交集.
如何将三维的世界 在设备的二维人机界面中体现出来
如何将情感,色彩,明度,融入到用户 使用产品的过程中去.
加强体验舒适度,减弱不可避免的不适感,不易被察觉的动效
主要的目的还是 提升 产品体验!!!!
视图动画与属性动画概述
这是我们整个篇幅比较重点的两个章节(视图动画,属性动画)。
是Android现在很多常见动画的基础,后续章节(过渡动画,RecyclerView动画,其它动画了解)影子随处可见;
在 Android 中,动画分为两类(点击进入章节):视图动画章节(View Animation) 与 属性动画章节(Property Animation);
视图动画与属性动画的区别
视图动画(View Animation) | 属性动画(Property Animation) | |
---|---|---|
引入时间不同 | 在 Api level 1 引入 | Api level 11(Android 3.0才开始) 时引入 |
包名不同 | android.view.animation | android.animation |
类的命名不同 | xxxAnimation(比如 AlphaAnimation) | xxxAnimator(比如ValueAnimator,ObjectAnimator) |
既生 视图动画 何生 属性动画 呢???
视图动画 使用起来很方便,唯一不足有几个点:
1) 不具备交互性:当某个元素发生视图动画后,其响应事件(比如点击事件)的位置依然在动画前的地方
2) 非视图类无法设置动画(比如颜色,还有一些类的自定义绘制的属性值等),你需要自己实现代码来完成这个功能,比较麻烦!!!
3) 补间动画只能实现简单的四种的动画(alpha、scale、rotate、translate),要想实现比较复杂的动画就难以满足需求;
… … 暂时想到这么多,后续又了再补齐,罄竹难书
属性动画 改变的是属性
, 也可以为 任何对象设置动画
,包括视图类
和非视图类
,并且修改视图本身的属性;
总之,属性动画就是为了弥补视图动画一些不足而设计的,实现补间动画无法实现的功能。
过渡动画概述
过渡动画是 Android 4.4
引入的新的动画框架,它本质上仍是 属性动画(做了一层封装)
,
主要是为了 方便开发者实现 Activity/Fragment
或者 布局
的 过渡动画效果
.
什么是过渡动画?这里可以理解为,两个UI界面之间的 状态转换时的动画.
RecyclerView 动画概述
RecyclerView
是 Android 5.0
提出的新控件,是用来 替代 传统的 ListView
.
RecyclerView
动画包含了几个方面,第一次进入界面加载的动画,后续的 添加/删除/更新/移动
的动画.
其它动画了解概述
扩展知识了解
除了Android原生的动画,我们也可以对一些 Android 相关的游戏库了解下,它们也可以进行!!
绘制相关知识
绘制的知识点,有时候也会和动画紧密结合,也是需要掌握的,兄弟!!!
项目案例解析
由于感觉章节的例子不够生动,特意再写一个章节,举一些例子对整个知识点重新复习下。
参考资料与推荐
谷歌开发者-实现动效太难了?试试 Material Design
谷歌官方文档原地址
文章中的DEMO地址
其它DEMO资料
Android动画了解的DEMO源码地址
Android开源库集合(UI效果)
《Android自定义控件开发入门与实战》,《Android开发艺术探索》
下个章节=> Android动画了解—为什么需要动画