两个动画,中间延迟1秒

时间:2016-01-24 12:49:01

标签: java android

我想为android构建一个启动画面,徽标的动画效果是两次:

  • 从左到中飞
  • 1秒后,从中心飞到右边

第一件事情很有效:

Animation animLeft2Center = AnimationUtils.loadAnimation(this, R.anim.translate_left_to_center);
mLogo.startAnimation(animLeft2Center);

但我不能让第二部动画发挥作用。

Animation animCenter2Right = AnimationUtils.loadAnimation(this, R.anim.translate_center_to_right);
mLogo.startAnimation(animCenter2Right);

如何在两者之间设置1秒的延迟,然后开始第二个动画?

我找不到类似setStartDelay的内容,也不会在两个动画之后触发动画。

1 个答案:

答案 0 :(得分:4)

尝试以这种方式:

Animation animLeft2Center = AnimationUtils.loadAnimation(this, R.anim.translate_left_to_center);

mLogo.startAnimation(animLeft2Center);  
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
  @Override
  public void run() {
    //Do something after 1 second
      Animation animCenter2Right = AnimationUtils.loadAnimation(this, R.anim.translate_center_to_right);
      mLogo.startAnimation(animCenter2Right);
  }
}, 1000);