2013-07-12 2 views
0

일정한 시간이 지나면 다른 TextViews 1에서 같은 애니메이션을 시작하려고합니다. 현재 아래 코드가 있지만이 작업을 수행하는 더 좋은 방법이 있어야한다고 생각합니다. 내가 명시 적으로 다음 애니메이션을 시작할 것이라고 있지만안드로이드 애니메이션 다른 요소로 돌아 가기

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

답변

1

당신이 그것을 그런 식으로 잘못된 것은 이전이 완료되면, 없다 :

아마도 사용하는 더 간단한 방법은 없습니다
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(); 
+0

루프와 배열? 이 구현은 기술적으로는 정확하지만 낭비 적이기는하다. –

+0

@MattStokes 배열에 단추를 추가하는 한 확실히 배열의 루프에서이 작업을 수행 할 수 있습니다. –

관련 문제