Я создаю игру, и я хотел бы показать простой "счет" -анимации игрока, когда ему даются кредиты. Это представление, которое я бросаю на экран:
public class Score extends FrameLayout {
public Score(Context context, int score) {
super(context);
TextView txt = new TextView(context);
txt.setText(String.valueOf(score).toUpperCase());
addView(txt);
Animation anim = AnimationUtils.loadAnimation(context, R.anim.score);
startAnimation(anim);
anim.setAnimationListener(animationListener);
}
private void Remove(){
ViewGroup parent = (ViewGroup)getParent();
parent.removeView(this);
}
private AnimationListener animationListener = new AnimationListener() {
@Override
public void onAnimationEnd(Animation animation) {
Remove();
}
};
}
Этот код на самом деле работает очень хорошо, пока в любой момент времени на экране есть только одна анимация очков. Если игрок снова забил, до того как последний счет был удален, приложение выйдет из строя - вероятно, потому, что второй балл получает событие, чтобы удалить себя во время анимации. Является ли это плохой практикой использования анимации? Как вы, ребята, справитесь с этим?