Android动画分类

在Android常见面试题中我们会经常遇到关于动画种类的问题。百度上也会有许多的答案。Android平台提供了一套完整的动画框架,我们最常见的答案就是分为逐帧动画和补间动画这两种。可能这也是同学们习以为常的答案。可是这是在Android3.0版本之前。Android3.0以后增加了属性动画 Property Animation。这样子动画就分成两部分:

Android动画分类_第1张图片

Tween Animation、Frame Animation只能用于View,被归类为ViewAnimation。

Property Animation

Property Animation可以定义在xml文件中,它用来在设定的时间内修改对象的属性。例如背景颜色和alpha的值。

这些xml文件定义的文件路径如下: res/animator/filename.xm

常用Java类:ValueAnimator, ObjectAnimator, or AnimatorSet.

Property Animation定义在android.animation包种。

Property Animation的文件可以以资源的形式引用:

In Java: R.animator.filename

In XML: @[package:]animator/filename

View Animation

View Animation包含了Tween Animation、Frame Animation。

Tween Animation

Tween Animation定义在xml文件中。可以对view实现一系列的转换,例如:移动、渐变、伸缩、旋转。

Android动画分类_第2张图片

Tween Animation只能应用于View对象,而且只支持一部分属性,如支持缩放旋转而不支持背景颜色的改变。而且对于Tween Animation,并不改变属性的值,它只是改变了View对象绘制的位置,而没有改变View对象本身,比如,你有一个Button,坐标(100,100),Width:100,Height:100,而你有一个动画使其移动(200,200),你会发现动画过程中触发按钮点击的区域仍是(100,100)-(200,200)。

Android动画分类_第3张图片

Frame animation

帧动画是一系列的图片按顺序显示。

文件路径:res/drawable/filename.xml

Property Animation、Tween Animation、Frame Animation的文件路径都是不一样的。

你可能感兴趣的:(Android动画分类)