public class AnimatorSet.Builder
extends Object
java.lang.Object | |
↳ | android.animation.AnimatorSet.Builder |
Builder
对象是一个实用工具类,可以方便地将动画添加到AnimatorSet
以及各种动画之间的关系中。 Builder
方法的意图以及Builder
的play()
方法的AnimatorSet
是使得以自然的方式表达动画的依赖关系成为可能。 如果这些方法适合需要,开发人员也可以使用playTogether()
和playSequentially()
方法,但在某些情况下,可能会更容易将动画的AnimatorSet成对表示。
Builder
对象不能直接构建,而是通过调用 play(Animator)
而内部 play(Animator)
。
例如,这设置了一个AnimatorSet来同时播放anim1和anim2,anim2在anim2完成时播放,anim4在anim3完成时播放:
AnimatorSet s = new AnimatorSet(); s.play(anim1).with(anim2); s.play(anim2).before(anim3); s.play(anim4).after(anim3);
在示例中注意使用了before(Animator)
和after(Animator)
。 这些仅仅是表达同样关系的不同方式,并且可以根据情况以更自然的方式说出事情。
可以将多个呼叫放入同一个Builder
对象中以表示多个关系。 但是请注意,只有传入最初play(Animator)
方法的动画play(Animator)
对Builder
对象的任何连续调用的依赖关系。 例如,当anim1结束时,以下代码将启动anim2和anim3; anim2和anim3之间没有直接的依赖关系:
AnimatorSet s = new AnimatorSet(); s.play(anim1).before(anim2).before(anim3);If the desired result is to play anim1 then anim2 then anim3, this code expresses the relationship correctly:
AnimatorSet s = new AnimatorSet(); s.play(anim1).before(anim2); s.play(anim2).before(anim3);
请注意,可以表达不能解决的关系,并且不会产生明智的结果。 例如, play(anim1).after(anim1)
是没有意义的。 一般来说,应该避免像这样的循环依赖(或者更多的间接依赖于依赖于b的依赖于c的依赖于a的依赖)。 只创建AnimatorSets,可以归结为一个简单的,单向的动画关系的动画,在其他不同的动画之前,之后开始。
Public methods |
|
---|---|
AnimatorSet.Builder |
after(long delay) 设置创建此 |
AnimatorSet.Builder |
after(Animator anim) 当在此方法调用中提供的动画结束时,创建此 |
AnimatorSet.Builder |
before(Animator anim) 当创建此 |
AnimatorSet.Builder |
with(Animator anim) 设置给定动画以与创建此 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
AnimatorSet.Builder after (long delay)
设置创建此 Builder
对象的 play(Animator)
调用中提供的动画,以在给定的时间量过去时播放。
Parameters | |
---|---|
delay |
long : The number of milliseconds that should elapse before the animation starts. |
Returns | |
---|---|
AnimatorSet.Builder |
AnimatorSet.Builder after (Animator anim)
当在此方法调用中提供的动画结束时,创建此对象的 Builder
对象的 play(Animator)
调用中提供的动画开始时,设置给定动画以播放。
Parameters | |
---|---|
anim |
Animator : The animation whose end will cause the animation supplied to the play(Animator) method to play. |
Returns | |
---|---|
AnimatorSet.Builder |
AnimatorSet.Builder before (Animator anim)
当创建此 Builder
对象的 play(Animator)
调用中提供的动画结束时,设置给定动画以播放。
Parameters | |
---|---|
anim |
Animator : The animation that will play when the animation supplied to the play(Animator) method ends. |
Returns | |
---|---|
AnimatorSet.Builder |
AnimatorSet.Builder with (Animator anim)
设置给定动画以与创建此 Builder
对象的 play(Animator)
调用中提供的动画同时播放。
Parameters | |
---|---|
anim |
Animator : The animation that will play when the animation supplied to the play(Animator) method starts. |
Returns | |
---|---|
AnimatorSet.Builder |