2015-11-29 3 views
2

У меня проблемы с анимацией в Android. У меня есть animation_char.xml:Как добавить задержку между анимациями

<set xmlns:android="http://schemas.android.com/apk/res/android"> 
<alpha 
    android:duration="300" 
    android:fromAlpha="0.0" 
    android:interpolator="@android:anim/accelerate_interpolator" 
    android:toAlpha="1.0"/> 
</set> 

Это нормально, но в моем MainActivity я хочу, чтобы начать анимацию один за одним. Так что я создал метод, чтобы сделать его более легким и просто изменить ImageView

public void animation(ImageView imageView){ 
    animation = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.animation_char); 
    imageView.startAnimation(animation); 
} 

И делают consecutives анимации, я пытаюсь использовать AnimatorSet. Но когда я читаю AnimatorSet, работа с Animator, а не с анимацией. Так что мой вопрос: есть ли способ загрузить анимацию в аниматоре? Или мне нужно использовать другой способ для достижения того, что я хочу сделать? Заранее спасибо!

EDIT Я изменил мой метод и теперь я пытаюсь с этим, но проблема в том, что все изображения появляются в то же время, как я могу добавить некоторую задержку между анимациями?

public void animation() { 
    animation= AnimationUtils.loadAnimation(getApplicationContext(),R.anim.animation_char); 

      w.startAnimation(animation); 
      a.startAnimation(animation); 
      r.startAnimation(animation);  
} 

ответ

2

На самом деле я ответил на этот вопрос here. Вы должны начать свою вторую анимацию в onAnimationEnd AnimationListener из первых анимаций. То же самое для второго.

0

Вы должны использовать класс AnimationSet вместо AnimatorSet.

Например

AnimationSet as = new AnimationSet(true); 
as.setFillEnabled(true); 
as.setInterpolator(new BounceInterpolator()); 
as.addAnimation(firstAnim); 
as.addAnimation(secondAnim); 
as.setDuration(1000); 
imageView.startAnimation(as); 
+0

Но 'AnimationSet' не имеет никакого метода' playSequentially' – Sourabh

+0

Вы должны посмотреть [здесь] (http://cogitolearning.co.uk/?p=1404) – karvoynistas

+0

Они для 'AnimatorSet' не' AnimationSet' – Sourabh

Смежные вопросы