不同元素上的Android动画背靠背
我希望在设定的持续时间后,在不同的文本视图上一个接一个地启动相同的动画。目前,我有下面的代码,但我觉得必须有一个更好的方法来做到这一点不同元素上的Android动画背靠背,android,animation,Android,Animation,我希望在设定的持续时间后,在不同的文本视图上一个接一个地启动相同的动画。目前,我有下面的代码,但我觉得必须有一个更好的方法来做到这一点 Animation anim = AnimationUtils.loadAnimation(this, R.anim.flyin); play_now_but.setAnimation(anim); Animation anim2 = AnimationUtils.loadAnimation(this, R.anim.fly
Animation anim = AnimationUtils.loadAnimation(this, R.anim.flyin);
play_now_but.setAnimation(anim);
Animation anim2 = AnimationUtils.loadAnimation(this, R.anim.flyin);
anim2.setStartOffset(250);
story_mode_but.setAnimation(anim2);
Animation anim3 = AnimationUtils.loadAnimation(this, R.anim.flyin);
anim3.setStartOffset(500);
create_puzzle_but.setAnimation(anim3);
Animation anim4 = AnimationUtils.loadAnimation(this, R.anim.flyin);
anim4.setStartOffset(750);
stats_but.setAnimation(anim4);
Animation anim5 = AnimationUtils.loadAnimation(this, R.anim.flyin);
anim5.setStartOffset(1000);
settings_but.setAnimation(anim5);
Animation anim6 = AnimationUtils.loadAnimation(this, R.anim.flyin);
anim6.setStartOffset(1250);
about_but.setAnimation(anim6);
anim.start();
anim2.start();
anim3.start();
anim4.start();
anim5.start();
anim6.start();
您的操作方式没有问题,尽管我会在上一个动画完成后明确启动下一个动画:
Animation anim = AnimationUtils.loadAnimation(this, R.anim.flyin);
play_now_but.setAnimation(anim);
final Animation anim2 = AnimationUtils.loadAnimation(this, R.anim.flyin);
story_mode_but.setAnimation(anim2);
final Animation anim3 = AnimationUtils.loadAnimation(this, R.anim.flyin);
create_puzzle_but.setAnimation(anim3);
final Animation anim4 = AnimationUtils.loadAnimation(this, R.anim.flyin);
stats_but.setAnimation(anim4);
final Animation anim5 = AnimationUtils.loadAnimation(this, R.anim.flyin);
settings_but.setAnimation(anim5);
final Animation anim6 = AnimationUtils.loadAnimation(this, R.anim.flyin);
about_but.setAnimation(anim6);
anim.setAnimationListener(new AnimationListener() {
public onAnimationEnd(Animation animation) {
anim2.start();
}
});
anim2.setAnimationListener(new AnimationListener() {
public onAnimationEnd(Animation animation) {
anim3.start();
}
});
anim3.setAnimationListener(new AnimationListener() {
public onAnimationEnd(Animation animation) {
anim4.start();
}
});
anim4.setAnimationListener(new AnimationListener() {
public onAnimationEnd(Animation animation) {
anim5.start();
}
});
anim5.setAnimationListener(new AnimationListener() {
public onAnimationEnd(Animation animation) {
anim6.start();
}
});
anim.start();
没有比使用for循环和数组更简单的方法了?这个实现虽然在技术上是正确的,但看起来很简单wasteful@MattStokes您当然可以在数组中的循环中执行此操作-只要将按钮添加到数组中。