Animation动画详解

内容简介

Animation动画详解 - v1.0

目录

  • 前言
    • 适用人群
      • 学习前提
        • 章节简介
        • 章节简介
        • 目录
          • 第 1 章 alpha、scale、translate、rotate、set 的 xml 属性及用法
            • 一、概述
              • 1、XML 配置文件中
                • 2、动作文件存放位置
                • 1、XML 配置文件中
                  • 2、动作文件存放位置
                    • 二、scale 标签——调节尺寸
                      • 1、自有属性
                        • 2、从 Animation 类继承的属性
                        • 1、自有属性
                          • 2、从 Animation 类继承的属性
                            • 三、alpha 标签——调节透明度
                              • 1、自身属性
                                • 2、从 Animation 类继承的属性
                                • 1、自身属性
                                  • 2、从 Animation 类继承的属性
                                    • 四、rotate 标签——旋转
                                      • 1、自身属性
                                        • 2、从 Animation 类继承的属性
                                        • 1、自身属性
                                          • 2、从 Animation 类继承的属性
                                            • 五、translate 标签 —— 平移
                                              • 1、自身属性
                                                • 2、从 Animation 类继承的属性
                                                • 1、自身属性
                                                  • 2、从 Animation 类继承的属性
                                                    • 六、set 标签——定义动作合集
                                                      • 七、实例——如何将动画 XML 文件应用于控件中
                                                        • 1、新建工程、新建 scale 动画文件(scaleanim.xml)
                                                          • 2、XML 布局文件
                                                            • 3、JAVA 代码
                                                            • 1、新建工程、新建 scale 动画文件(scaleanim.xml)
                                                              • 2、XML 布局文件
                                                                • 3、JAVA 代码
                                                                • 第 2 章 Interpolator 插值器
                                                                  • 一、概述
                                                                    • 二、scale 标签
                                                                      • 三、rotate 标签
                                                                        • 四、alpha 标签
                                                                          • 五、translate 标签
                                                                          • 第 3 章 代码生成 alpha、scale、translate、rotate、set 及插值器动画
                                                                            • 一、概述
                                                                              • 二、Animation 公共类
                                                                                • 三、ScaleAnimation
                                                                                  • 四、AlphaAnimation
                                                                                    • 五、RotateAnimation
                                                                                      • 六、TranslateAnimation
                                                                                        • 七:AnimationSet
                                                                                          • 八、Interpolater 插值器
                                                                                            • 九、示例,源码
                                                                                            • 第 4 章 ValueAnimator 基本使用
                                                                                              • 一、概述
                                                                                                • 1、为什么引入 Property Animator(属性动画)
                                                                                                  • 2、举例说明补间动画的点击区域问题
                                                                                                  • 1、为什么引入 Property Animator(属性动画)
                                                                                                    • 2、举例说明补间动画的点击区域问题
                                                                                                      • 二、ValueAnimator 简单使用
                                                                                                        • 1、初步使用 ValueAnimator
                                                                                                          • 2、实例使用 ValueAnimator
                                                                                                          • 1、初步使用 ValueAnimator
                                                                                                            • 2、实例使用 ValueAnimator
                                                                                                              • 三、常用方法
                                                                                                                • 1、ofInt 与 ofFloat
                                                                                                                  • 2、常用函数
                                                                                                                    • 3、两个监听器
                                                                                                                      • 4、其它函数
                                                                                                                      • 1、ofInt 与 ofFloat
                                                                                                                        • 2、常用函数
                                                                                                                          • 3、两个监听器
                                                                                                                            • 4、其它函数
                                                                                                                            • 第 5 章 高级进阶(一)
                                                                                                                              • 一、插值器
                                                                                                                                • 1、使用插值器
                                                                                                                                  • 2、自定义加速器
                                                                                                                                  • 1、使用插值器
                                                                                                                                    • 2、自定义加速器
                                                                                                                                      • 二、Evaluator
                                                                                                                                        • 1、概述
                                                                                                                                          • 2、各种 Evaluator
                                                                                                                                            • 3、自定义 Evalutor
                                                                                                                                              • 4、关于 ArgbEvalutor
                                                                                                                                              • 1、概述
                                                                                                                                                • 2、各种 Evaluator
                                                                                                                                                  • 3、自定义 Evalutor
                                                                                                                                                    • 4、关于 ArgbEvalutor
                                                                                                                                                    • 第 6 章 高级进阶(二)
                                                                                                                                                      • 一、ofObject()概述
                                                                                                                                                        • 二、ofObject 之自定义对象示例
                                                                                                                                                          • 1、首先,我们自定义一个类 Point:
                                                                                                                                                            • 2、然后我们自定义一个 View:MyPointView
                                                                                                                                                            • 1、首先,我们自定义一个类 Point:
                                                                                                                                                              • 2、然后我们自定义一个 View:MyPointView
                                                                                                                                                                • 3、使用 MyPointView
                                                                                                                                                                • 第 7 章 ObjectAnimator 基本使用
                                                                                                                                                                  • 一、概述
                                                                                                                                                                    • 1、引入
                                                                                                                                                                      • 2、setter 函数
                                                                                                                                                                      • 1、引入
                                                                                                                                                                        • 2、setter 函数
                                                                                                                                                                          • 3、ObjectAnimator 动画原理
                                                                                                                                                                            • 二、自定义 ObjectAnimator 属性
                                                                                                                                                                              • 1、保存圆形信息类——Point
                                                                                                                                                                                • 2、自定义控件——MyPointView
                                                                                                                                                                                  • 3、使用 MyPointView
                                                                                                                                                                                  • 1、保存圆形信息类——Point
                                                                                                                                                                                    • 2、自定义控件——MyPointView
                                                                                                                                                                                      • 3、使用 MyPointView
                                                                                                                                                                                        • 四、注意——何时需要实现对应属性的 get 函数
                                                                                                                                                                                          • 三、常用函数
                                                                                                                                                                                            • 1、使用 ArgbEvaluator
                                                                                                                                                                                              • 2、其它函数
                                                                                                                                                                                              • 1、使用 ArgbEvaluator
                                                                                                                                                                                                • 2、其它函数
                                                                                                                                                                                                • 第 8 章 PropertyValuesHolder 与 Keyframe
                                                                                                                                                                                                  • 一、PropertyValuesHolder
                                                                                                                                                                                                    • 1、概述
                                                                                                                                                                                                      • 2、PropertyValuesHolder 之 ofFloat()、ofInt()
                                                                                                                                                                                                        • 3、PropertyValuesHolder 之 ofObject()
                                                                                                                                                                                                        • 1、概述
                                                                                                                                                                                                          • 2、PropertyValuesHolder 之 ofFloat()、ofInt()
                                                                                                                                                                                                            • 3、PropertyValuesHolder 之 ofObject()
                                                                                                                                                                                                              • 二、Keyframe
                                                                                                                                                                                                                • 1、概述
                                                                                                                                                                                                                  • 2、示例
                                                                                                                                                                                                                    • 3、Keyframe 之 ofFloat、ofInt 与常用函数
                                                                                                                                                                                                                      • 4、Keyframe 之 ofObject
                                                                                                                                                                                                                        • 5、疑问:如果没有设置进度为 0 或者进度为 1 时的关键帧,展示是怎样的?
                                                                                                                                                                                                                          • 6、开篇的电话响铃效果
                                                                                                                                                                                                                          • 1、概述
                                                                                                                                                                                                                            • 2、示例
                                                                                                                                                                                                                              • 3、Keyframe 之 ofFloat、ofInt 与常用函数
                                                                                                                                                                                                                                • 4、Keyframe 之 ofObject
                                                                                                                                                                                                                                  • 5、疑问:如果没有设置进度为 0 或者进度为 1 时的关键帧,展示是怎样的?
                                                                                                                                                                                                                                    • 6、开篇的电话响铃效果
                                                                                                                                                                                                                                      • 三、PropertyValuesHolder 之其它函数
                                                                                                                                                                                                                                      • 第 9 章 联合动画的代码实现
                                                                                                                                                                                                                                        • 一、AnimatorSet——playSequentially,playTogether>
                                                                                                                                                                                                                                          • 1、playSequentially
                                                                                                                                                                                                                                          • 1、playSequentially
                                                                                                                                                                                                                                          • 第 10 章 联合动画的 XML 实现与使用示例
                                                                                                                                                                                                                                            • 一、联合动画的 XML 实现
                                                                                                                                                                                                                                              • 1、animator
                                                                                                                                                                                                                                                • 2、objectAnimator
                                                                                                                                                                                                                                                  • 3、set
                                                                                                                                                                                                                                                    • 4、总结
                                                                                                                                                                                                                                                    • 1、animator
                                                                                                                                                                                                                                                      • 2、objectAnimator
                                                                                                                                                                                                                                                        • 3、set
                                                                                                                                                                                                                                                          • 4、总结
                                                                                                                                                                                                                                                            • 二、开篇示例——AnimatorSet 应用
                                                                                                                                                                                                                                                              • 1、原理
                                                                                                                                                                                                                                                                • 2、布局代码(main.xml)
                                                                                                                                                                                                                                                                  • 3、MyActivity.java
                                                                                                                                                                                                                                                                  • 1、原理
                                                                                                                                                                                                                                                                    • 2、布局代码(main.xml)
                                                                                                                                                                                                                                                                      • 3、MyActivity.java
                                                                                                                                                                                                                                                                      • 第 11 章 layoutAnimation 与 gridLayoutAnimation
                                                                                                                                                                                                                                                                        • 一、LayoutAnimation 的 xml 实现——layoutAnimation 标签
                                                                                                                                                                                                                                                                          • 1、概述
                                                                                                                                                                                                                                                                            • 2、示例
                                                                                                                                                                                                                                                                              • 3、layoutAnimation 各字段意义
                                                                                                                                                                                                                                                                              • 1、概述
                                                                                                                                                                                                                                                                                • 2、示例
                                                                                                                                                                                                                                                                                  • 3、layoutAnimation 各字段意义
                                                                                                                                                                                                                                                                                    • 二、LayoutAnimation 的代码实现——LayoutAnimationController
                                                                                                                                                                                                                                                                                      • 1、概述
                                                                                                                                                                                                                                                                                        • 2、示例
                                                                                                                                                                                                                                                                                        • 1、概述
                                                                                                                                                                                                                                                                                          • 2、示例
                                                                                                                                                                                                                                                                                            • 三、GridLayoutAnimation 的 XML 实现——gridLayoutAnimation
                                                                                                                                                                                                                                                                                              • 1、概述
                                                                                                                                                                                                                                                                                                • 2、示例
                                                                                                                                                                                                                                                                                                  • 3、gridLayoutAnimation 标签各属性详解
                                                                                                                                                                                                                                                                                                  • 1、概述
                                                                                                                                                                                                                                                                                                    • 2、示例
                                                                                                                                                                                                                                                                                                      • 3、gridLayoutAnimation 标签各属性详解
                                                                                                                                                                                                                                                                                                        • 四、GridLayoutAnimation 的代码实现——GridLayoutAnimationController
                                                                                                                                                                                                                                                                                                          • 1、概述
                                                                                                                                                                                                                                                                                                            • 2、示例
                                                                                                                                                                                                                                                                                                            • 1、概述
                                                                                                                                                                                                                                                                                                              • 2、示例
                                                                                                                                                                                                                                                                                                              • 第 12 章 自定义控件三部曲之动画篇(十二)——animateLayoutChanges与LayoutTransition
                                                                                                                                                                                                                                                                                                                • android:animateLayoutChanges属性
                                                                                                                                                                                                                                                                                                                  • main.xml布局代码
                                                                                                                                                                                                                                                                                                                    • MyActivity代码
                                                                                                                                                                                                                                                                                                                    • main.xml布局代码
                                                                                                                                                                                                                                                                                                                      • MyActivity代码
                                                                                                                                                                                                                                                                                                                        • LayoutTransaction
                                                                                                                                                                                                                                                                                                                          • 概述
                                                                                                                                                                                                                                                                                                                            • LayoutTransition.APPEARING与LayoutTransition.DISAPPEARING示例
                                                                                                                                                                                                                                                                                                                              • LayoutTransition.CHANGE_APPEARING与LayoutTransition.CHANGE_DISAPPEARING
                                                                                                                                                                                                                                                                                                                                • LayoutTransition.CHANGE_APPEARING实现
                                                                                                                                                                                                                                                                                                                                  • LayoutTransition.CHANGE_DISAPPEARING实现
                                                                                                                                                                                                                                                                                                                                  • LayoutTransition.CHANGE_APPEARING实现
                                                                                                                                                                                                                                                                                                                                    • LayoutTransition.CHANGE_DISAPPEARING实现
                                                                                                                                                                                                                                                                                                                                      • 其它函数
                                                                                                                                                                                                                                                                                                                                      • 概述
                                                                                                                                                                                                                                                                                                                                        • LayoutTransition.APPEARING与LayoutTransition.DISAPPEARING示例
                                                                                                                                                                                                                                                                                                                                          • LayoutTransition.CHANGE_APPEARING与LayoutTransition.CHANGE_DISAPPEARING
                                                                                                                                                                                                                                                                                                                                            • LayoutTransition.CHANGE_APPEARING实现
                                                                                                                                                                                                                                                                                                                                              • LayoutTransition.CHANGE_DISAPPEARING实现
                                                                                                                                                                                                                                                                                                                                              • LayoutTransition.CHANGE_APPEARING实现
                                                                                                                                                                                                                                                                                                                                                • LayoutTransition.CHANGE_DISAPPEARING实现
                                                                                                                                                                                                                                                                                                                                                  • 其它函数
                                                                                                                                                                                                                                                                                                                                                  • 第 13 章 自定义控件三部曲之动画篇(十三)——实现ListView Item进入动画
                                                                                                                                                                                                                                                                                                                                                    • 搭框架
                                                                                                                                                                                                                                                                                                                                                      • item布局(item_layout.xml)
                                                                                                                                                                                                                                                                                                                                                        • ListAdapter
                                                                                                                                                                                                                                                                                                                                                          • 主布局(main.xml)
                                                                                                                                                                                                                                                                                                                                                            • MyActivity.java
                                                                                                                                                                                                                                                                                                                                                            • item布局(item_layout.xml)
                                                                                                                                                                                                                                                                                                                                                              • ListAdapter
                                                                                                                                                                                                                                                                                                                                                                • 主布局(main.xml)
                                                                                                                                                                                                                                                                                                                                                                  • MyActivity.java
                                                                                                                                                                                                                                                                                                                                                                    • Item添加动画——初步实现
                                                                                                                                                                                                                                                                                                                                                                      • 动画文件(bottom_in_anim.xml)
                                                                                                                                                                                                                                                                                                                                                                        • 在Adapter中添加动画代码
                                                                                                                                                                                                                                                                                                                                                                        • 动画文件(bottom_in_anim.xml)
                                                                                                                                                                                                                                                                                                                                                                          • 在Adapter中添加动画代码
                                                                                                                                                                                                                                                                                                                                                                            • 优化
                                                                                                                                                                                                                                                                                                                                                                              • 上下滑动问题
                                                                                                                                                                                                                                                                                                                                                                                • 多个item同时动画问题
                                                                                                                                                                                                                                                                                                                                                                                • 上下滑动问题
                                                                                                                                                                                                                                                                                                                                                                                  • 多个item同时动画问题