android animatorset颜色,Android API之Animator、AnimatorSet和

Animator

概览

这是一个为可以被启动、终结以及附带动画监听器的动画提供基本支持的类的父类。

内部类

接口Animator.AnimatorListener

该监听器用于接收动画发出通知。

接口Animator.AnimatorPauseListener

该监听器用于接收当动画暂停或者恢复时发出的通知。

构造方法

Animator()

AnimatorSet

概览

这个类用于将一个动画集合按特定的顺序播放。动画可以设置成同时播放、顺序播放或者在一定的延时后播放。

有两种方式可以向AnimatorSet添加动画:

调用playTogether()或者playSequentially()一次性地添加并播放动画。

使用play(Animator)与Builder类中的方法,逐个添加并播放动画。

另外,可以建立一个动画之间循环依赖的AnimatorSet.比如,有动画A1,A2和A3,A1在A2前启动,A2在A3前启动,A3则在A1千启动。

内部类Builder

该类是一个工具类,用于为AnimatorSet添加动画,同时为不同的动画间添加联系。该类的方法的目的是为了表达动画间的依赖关系时更加人性化。在满足需求的前提下,开发者也可以使用playTogether()和playSequentially()方法。但在一些情况下,使用Builder类更方便。

Builder对象不能直接建立,而是通过paly(Animator)。

比如,设置一个AnimatorSet将动画1和动画2同时播放,动画3在动画2结束后播放,动画4则在动画3结束后播放:

AnimatorSet s = new AnimatorSet();

s.play(anim1).with(anim2);

s.play(anim2).before(anim3);

s.play(anim4).after(anim3);

AnimatorSet代码示例

AnimatorSet set = new AnimatorSet();

set.playSequentially(downAnim, stretchAnim, upAnim);

set.start();

s.play(anim4).after(anim3);

ValueAnimator

概览

该类为播放动画提供了简单的时间引擎,该引擎可以计算动画时间并将其设置在目标对象上。

所有的动画可以使用单个时间脉冲。存在处理器(handler)中的时间脉冲可以确保属性在UI线程中改变。

默认情况下,ValueAnimator使用非线性时间的插值,该插值由类AccelerateDecelerateInterpolator实现,实现方法为setInterpolator(TimeInterpolator)。

Animators可以通过代码或者资源文件建立。下面是一个ValueAnimator的资源文件示例:

android:duration="1000"

android:valueFrom="1"

android:valueTo="0"

android:valueType="floatType"

android:repeatCount="1"

android:repeatMode="reverse"/>

ValueAnimator须配合监听器使用,并通过监听器的方法对目标对象进行更新。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值