2016-03-31 2 views
-1

Например: вид будет оживлять, он будет ждать 4 секунды, так как он снова оживет, и он будет ждать 2 секунды, а затем снова 4 и 2 секунды. Я попытался использовать метод scheduleAtFixedRate из класса Timer. Он работает в течение одного интервала времени, как я могу заставить его работать в течение 4 и 2 секунд непрерывно. СпасибоЯ хочу сделать анимацию в андроиде с альтернативным периодом времени.

+0

Всегда делайте это 2 секунды и сохраняйте логическое значение, которое вы можете переключить, и спящий поток еще на 2 секунды, когда это правда? –

+0

Вы можете добиться этого, используя класс Random –

ответ

0

Чередование начального смещения может быть достигнуто с помощью прослушивателя анимации, изменения его смещения на конце анимации и перезапуска анимации.

Animation a = //initialize here 
    a.setStartOffset(2000); 
    a.setAnimationListener(new Animation.AnimationListener() { 
     @Override 
     public void onAnimationStart(Animation animation) { 

     } 

     @Override 
     public void onAnimationEnd(Animation animation) { 
      a.setStartOffset(a.getStartOffset() == 2000 ? 4000 : 2000); 
      a.start(); 
     } 

     @Override 
     public void onAnimationRepeat(Animation animation) { 

     } 
    }); 
    a.start(); 
Смежные вопросы