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) |
|
|---|---|
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 |
|