我想在6个球上播放从0到1的缩放动画,每个球的持续时间为1000毫秒。每个动画都必须等待前一个动画200毫秒。
例如:
anim1.start -> 延迟200毫秒 -> anim2.start(当anim1正在播放时)-> ........
但是我总是得到同时启动所有6个球动画的结果,我不知道为什么,请问有人能告诉我吗?
例如:
anim1.start -> 延迟200毫秒 -> anim2.start(当anim1正在播放时)-> ........
但是我总是得到同时启动所有6个球动画的结果,我不知道为什么,请问有人能告诉我吗?
// show animation.
public void showBallAnimation(View v) {
LinearLayout ll = (LinearLayout) findViewById(R.id.ball_container);
RelativeLayout rl;
ScaleAnimation scaleAnim1 = new ScaleAnimation(0.0f, 1.0f, 0.0f, 1.0f);
scaleAnim1.setDuration(500);
scaleAnim1.setStartOffset(0);
scaleAnim1.setFillAfter(true);
rl = (RelativeLayout) ll.getChildAt(0);
rl.setVisibility(View.VISIBLE);
rl.startAnimation(scaleAnim1);
ScaleAnimation scaleAnim2 = new ScaleAnimation(0.0f, 1.0f, 0.0f, 1.0f);
scaleAnim2.setDuration(500);
scaleAnim2.setStartOffset(200);
scaleAnim2.setFillAfter(true);
rl = (RelativeLayout) ll.getChildAt(1);
rl.setVisibility(View.VISIBLE);
rl.startAnimation(scaleAnim2);
ScaleAnimation scaleAnim3 = new ScaleAnimation(0.0f, 1.0f, 0.0f, 1.0f);
scaleAnim3.setDuration(500);
scaleAnim3.setStartOffset(400);
scaleAnim3.setFillAfter(true);
rl = (RelativeLayout) ll.getChildAt(2);
rl.setVisibility(View.VISIBLE);
rl.startAnimation(scaleAnim3);
// Animation anim4 =
// AnimationUtils.loadAnimation(getApplicationContext(),
// R.anim.ball_scale4);
ScaleAnimation scaleAnim4 = new ScaleAnimation(0.0f, 1.0f, 0.0f, 1.0f);
scaleAnim4.setDuration(500);
scaleAnim4.setStartOffset(600);
scaleAnim4.setFillAfter(true);
rl = (RelativeLayout) ll.getChildAt(3);
rl.setVisibility(View.VISIBLE);
rl.startAnimation(scaleAnim4);
}