Android动画了解

打开动画的大门

在这里插入图片描述

上帝为你关闭一扇窗,同时也会将门给你焊死,所以不要多想了!!!

按照国际惯例,先来一段自我介绍,自报家门;
大家好,我是一名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 动画概述

RecyclerViewAndroid 5.0 提出的新控件,是用来 替代 传统的 ListView.

RecyclerView 动画包含了几个方面,第一次进入界面加载的动画,后续的 添加/删除/更新/移动 的动画.

RecyclerView 动画 章节


其它动画了解概述

其它动画了解 章节


扩展知识了解

除了Android原生的动画,我们也可以对一些 Android 相关的游戏库了解下,它们也可以进行!!

扩展知识了解 章节


绘制相关知识

绘制的知识点,有时候也会和动画紧密结合,也是需要掌握的,兄弟!!!

Android动画了解—绘图知识章节


项目案例解析

由于感觉章节的例子不够生动,特意再写一个章节,举一些例子对整个知识点重新复习下。

一些项目案例分析章节


参考资料与推荐

谷歌开发者-实现动效太难了?试试 Material Design
谷歌官方文档原地址
文章中的DEMO地址
其它DEMO资料
Android动画了解的DEMO源码地址
Android开源库集合(UI效果)

《Android自定义控件开发入门与实战》,《Android开发艺术探索》


下个章节=> Android动画了解—为什么需要动画

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章