前言
- 属性动画的使用 是 Android 开发中常用的知识
- 本文将献上一份全面 & 详细的属性动画学习指南,将详细介绍属性动画的所有内容,包括:意义、作用、应用场景、功原理 & 具体使用等,希望你们会喜欢。
目录
1. 意义
- 属性动画(Property Animation)是在 Android 3.0(API 11)后才提供的一种全新动画模式
- 那么为什么要提供属性动画(Property Animation)?
1.1 背景
逐帧动画 & 补间动画存在一定的缺点:
a. 作用对象局限:View
有些情况下的动画效果只是视图的某个属性 & 对象而不是整个视图;如,现需要实现视图的颜色动态变化,那么就需要操作视图的颜色属性从而实现动画效果,而不是针对整个视图进行动画操作
b. 没有改变View的属性,只是改变视觉效果
- 补间动画只是改变了View的视觉效果,而不会真正去改变View的属性。
- 如,将屏幕左上角的按钮 通过补间动画 移动到屏幕的右下角
- 点击当前按钮位置(屏幕右下角)是没有效果的,因为实际上按钮还是停留在屏幕左上角,补间动画只是将这个按钮绘制到屏幕右下角,改变了视觉效果而已。
c. 动画效果单一
- 补间动画只能实现平移、旋转、缩放 & 透明度这些简单的动画需求
- 一旦遇到相对复杂的动画效果,即超出了上述4种动画效果,那么补间动画则无法实现。
不再局限于 视图View对象
- 实现的动画效果:可自定义各种动画效果
可以是任意对象的任意属性
- 具体的工作原理逻辑如下:
- 从上述工作原理可以看出属性动画有两个非常重要的类:ValueAnimator 类 & ObjectAnimator 类
- 其实属性动画的使用基本都是依靠这两个类
- 所以,在下面介绍属性动画的具体使用时,我会着重介绍这两个类。
5. 具体使用
下面将详细介绍
5.1 ValueAnimator类
- 定义:属性动画机制中 最核心的一个类
- 实现动画的原理:通过不断控制 值 的变化,再不断 手动 赋给对象的属性,从而实现动画效果。如图下:
直接对对象的属性值进行改变操作,从而实现动画效果
从上面的工作原理可以看出:ObjectAnimator与 ValueAnimator类的区别:
- ValueAnimator 类是先改变值,然后 手动赋值 给对象的属性从而实现动画;是 间接 对对象属性进行操作;
- ObjectAnimator 类是先改变值,然后 自动赋值 给对象的属性从而实现动画;是 直接 对对象属性进行操作;
ValueAnimator 类本质上是一种 改变 值 的操作机制
可以理解为:ObjectAnimator更加智能、自动化程度更高
5.4 插值器
5.5 估值器
5.6 插值器与估值器的区别
对于属性动画的使用小技巧包括:
- 组合动画
- 快捷使用动画
- 监听动画
- 动画适配器
这个结尾是不是太过于突兀,哈哈。其实文章只是我个人的一些见解而已,真正能复刻的东西才能写下来,但是真正核心的都在我“脑子”里面。知识是属于你的永久财富,谁也偷不走,能一辈子为你所用。所以上面的文章只是给大家一个比较浅的了解,要是真正想学习这块的,或者在这方面工作的朋友我免费分享给你,当然也希望大家都能多多支持我,你们的点赞就是我的动力,谢谢!
Android小白———Android高级架构师
需要的朋友可以私信【学习】我分享给你,希望里面的资料可以给你们一个更好的学习参考。
Android学习PDF+架构视频+面试文档+源码笔记
好了,以上便是今天的分享,希望为各位后续的学习提供方便。觉得内容不错,也欢迎多多转发分享给身边的朋友哈。

