Как запустить код в каждый раз в Android

Я хочу показать анимацию в своем приложении, и я хочу показывать эту анимацию каждые 3000 м / с.
Я пишу ниже код, но в этом коде показать только один раз.

new Handler().postDelayed(new Runnable() {
    @Override
    public void run() {
        YoYo.with(Techniques.Bounce)
                .duration(1500)
                .playOn(arrowHelpImage);
    }
}, 3000);

Как я могу редактировать свой код и показывать каждые 3000 м / с?

2 ответа

Решение

Вы могли бы использовать что-то вроде этого. изменить анимации, используемые ниже. эта анимация будет бесконечной. предоставить анимацию на конце Listner. Измените продолжительность анимации на 3000 мс и используйте ее в handler.it.

YoYo.with(Techniques.Bounce)
    .duration(1200) 
    .interpolate(new AccelerateDecelerateInterpolator())
    .withListener(new Animator.AnimatorListener() {

        @Override 
        public void onAnimationStart(Animator animation) {}

        @Override 
        public void onAnimationEnd(Animator animation) {
          YoYo.with(Techniques.Bounce)
          .duration(1200) 
          .interpolate(new AccelerateDecelerateInterpolator())
          .withListener(this).playOn(arrowHelpImage);
       }

        @Override 
        public void onAnimationCancel(Animator animation) {}

        @Override 
        public void onAnimationRepeat(Animator animation) {}
    }).playOn(arrowHelpImage);

Поместите ниже код в вашем классе.

private Handler handler;
private Runnable runnable;

ниже код в вас создать

 handler = new Handler();
        runnable = new Runnable() {
            @Override
            public void run() {


 YoYo.with(Techniques.Bounce)
                .duration(1500)
                .playOn(arrowHelpImage);
                 handler.postDelayed(runnable, Constants.SPLASH_DURATION);
            }
        };
        handler.postDelayed(runnable, Constants.SPLASH_DURATION);


@Override
protected void onDestroy() {
    super.onDestroy();
    //Close the handler and the process of splash screen.
    if (handler != null && runnable != null) {
        handler.removeCallbacks(runnable);
    }
}
Другие вопросы по тегам