您的位置:首页 > 其它

动画研究 一

2016-02-26 16:51 246 查看
Android中的动画分为视图动画(View Animation)、属性动画(Property Animation)以及Drawable动画。

视图动画就是很早就已出现被大家所熟知的:translate平移、rotate翻转、alpha透明度渐变、scale缩放、animationset动画组合五大类。而该类视图动画只能用在View上,且xml文件只能放在res/anim下,父类就是Animation。

属性动画后面才出来,主要是ValueAnimator及其子类ObjectAnimator,且xml文件只能放在res/animator下,父类是Animator。与视图动画不同,同样改变一个view,它可以改变view的属性,而视图动画仅仅是一个动画效果。

Interpolator

它是用来控制变化速率的接口,继承关系:

abstract public class BaseInterpolator implements Interpolator
Interpolator extends TimeInterpolator


而系统已经实现了的一些速率变化类需要了解这几个:

LinearInterpolator 线性,即匀速变化,加速度为0

AccelerateInterpolator 加速,即加速变化,加速度逐渐增加

DecelerateInterpolator 减速,即减速变化,加速度逐渐减少

AccelerateDecelerateInterpolator 速率变化先加速再减速

BounceInterpolator 类似于一个球落地之后反复弹起直至静止的速率变化

AnticipateInterpolator 先回退一小步,然后再迅速前进

OvershootInterpolator 冲过了头回滚一点

AnticipateOvershootInterpolator 以上两点结合

CycleInterpolator 正弦周期变化

动画的执行全是依靠的handler和runnable来做的,一般不会出现卡帧的情况,一旦出现说明哪里代码有耗时问题。需要提出一点是AnimationSet,它是所有动画的集合,且可以顺序执行,也可以打乱执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: