Java 两个动画之间有1秒的延迟

Java 两个动画之间有1秒的延迟,java,android,Java,Android,我想为android构建一个splashscreen,其中徽标设置了两次动画: 从左到中飞行 1秒后,从中间向右飞行 第一件事很有效: Animation animLeft2Center = AnimationUtils.loadAnimation(this, R.anim.translate_left_to_center); mLogo.startAnimation(animLeft2Center); 但是我没有让第二个动画工作 Animation animCenter2Right =

我想为android构建一个splashscreen,其中徽标设置了两次动画:

  • 从左到中飞行
  • 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
的东西,而且它不会同时启动两个动画。

请尝试以下方法:

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

您是否尝试与第一个动画一起使用,并在第一个动画完成后让第二个动画开始(
onAnimationEnd
)?如果您只想使用一个动画,您甚至可以在XML级别定义一个动画集,谢谢!那么loadAnimation中的“this”呢?你能给我一个简短的例子吗?我对安卓非常陌生。那太棒了!试试你的活动名。这是你,先生,你是个英雄!