2013-11-17 2 views
1

У меня есть анимации, как это:Android анимации с наборами

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shareInterpolator="false" 
    android:fillAfter="true" > 
<translate 
    android:interpolator="@android:anim/decelerate_interpolator" 
    android:duration="600" 
    android:fillAfter="true" 
    android:fromXDelta="10" 
    android:fromYDelta="0" 
    android:toXDelta="0%" 
    android:toYDelta="-500" /> 

    </set> 

И это работает фантастически, но это не все, что я хочу сделать, я хочу, чтобы посмотреть, чтобы идти вверх, а затем вернуться вниз. Для этого я изменяю анимацию следующим образом:

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shareInterpolator="false" 
    android:fillAfter="true" > 
<translate 
    android:interpolator="@android:anim/decelerate_interpolator" 
    android:duration="600" 
    android:fillAfter="true" 
    android:fromXDelta="10" 
    android:fromYDelta="0" 
    android:toXDelta="0%" 
    android:toYDelta="-500" /> 
    <translate 
     android:interpolator="@android:anim/decelerate_interpolator" 
     android:duration="600" 
     android:fillAfter="true" 
     android:fromXDelta="10" 
     android:fromYDelta="0" 
     android:toXDelta="0%" 
     android:toYDelta="500" /> 

    </set> 

Однако, это не сработает. Я хотел бы, чтобы одна анимация была exevute за другой, однако я предполагаю, что они оба выполняются в одно и то же время. В этом случае мне просто нужно иметь возможность сделать обратное к первой анимации, однако я хотел бы знать, как сделать масштаб после перевода и так далее. Мне нужны две отдельные анимации? Каков правильный способ запуска анимации друг за другом, а не сразу?

ответ

1

Для второй анимации в наборе вы хотите смещать анимацию так, чтобы она начиналась после первого. Вы можете сделать это, используя атрибут смещения: http://developer.android.com/reference/android/view/animation/Animation.html#attr_android:startOffset

<translate 
    android:interpolator="@android:anim/decelerate_interpolator" 
    android:duration="600" 

    android:startOffset="600" 

    android:fillAfter="true" 
    android:fromXDelta="10" 
    android:fromYDelta="0" 
    android:toXDelta="0%" 
    android:toYDelta="500" /> 
+0

Спасибо, что работает шарм – user2853108

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