Я использую этот метод для запуска любой анимации (resID анимационного XML). Если nextPuzzleOnEnd истинно, метод «nextPuzzle» вызывается, когда анимация завершена.
Метод является частью моих приложений-головоломок, и я использую его для отображения любой анимации успеха, а затем (после того, как анимация закончилась) продолжит следующую головоломку.
/*
* start animation (any view)
*/
private void startAnimation(View v, int resId, Boolean nextPuzzleOnEnd){
Animation anim;
if(v!=null){ // can be null, after change of orientation
anim = AnimationUtils.loadAnimation(this.getContext(),resId);
anim.setFillAfter(false);
v.setAnimation(anim);
if(nextPuzzleOnEnd){
anim.setAnimationListener(new AnimationListener() {
public void onAnimationStart(Animation anim)
{
};
public void onAnimationRepeat(Animation anim)
{
};
public void onAnimationEnd(Animation anim)
{
nextPuzzle();
};
});
}
v.startAnimation(anim);
}
}