Search code examples
androidobjectanimator

How to restart object animator after some seconds in Android?


My code looks like that:

objectAnimator animator = ObjectAnimator.ofFloat(view, "rotation", 0f, (float) truePosition);
        animator.setDuration(totalTime);
        animator.setInterpolator(new DecelerateInterpolator());
        animator.addListener(new Animator.AnimatorListener() {
            @Override
            public void onAnimationStart(Animator animator) {
                einsatz = 0;
                disableChips();
                imageRoulette.setEnabled(false);
            }

            @Override
            public void onAnimationEnd(Animator animator) {
                imageRoulette.setEnabled(true);
                imageRoulette.setImageDrawable(null);
                imageRoulette.setBackgroundResource(R.drawable.roulette);

                enableChips();
                printNumberAfterRotation(randPosition);
                myBets.clear();
                einsatz = -1;
                gesamtEinsatz = 0;
            }

            @Override
            public void onAnimationCancel(Animator animator) { }

            @Override
            public void onAnimationRepeat(Animator animator) { }
});
animator.start();

By now I always have to tap on the view to rotate my image. Is there a way to restart it after 10 seconds?
Do you have any suggestions how to fix it?


Solution

  •  @Override
                public void onAnimationEnd(Animator animator) {
                    animation.setStartDelay(10000); // 10 SEC
                    animation.start();
                }