Traduire l'animation fonctionne parfaitement lors de la définition de XML et une seule fois à la perfection par code - Android

Je suis de cette étrange question. Fondamentalement, je suis de l'animation d'un point de vue avec de traduire de l'animation. (Traduire dans l'écran et via 2 événements différents) Mon code pour traduire l'animation est:

    final Animation  animtopOut = new TranslateAnimation(0, 0, 0, -mainHeaderlayout.getMeasuredHeight());
                    animtopOut.setDuration(500);
                    animtopOut.setFillAfter(true);
mainHeaderlayout.setAnimation(animtopOut);

Et le code xml est:

<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:fillAfter="true"
    android:interpolator="@android:anim/accelerate_interpolator" >

<translate 
    android:fromYDelta="0%p"
    android:toYDelta="-99%p"
    android:duration="600"
    android:fillAfter="true">

</translate>
</set>

Paramètre en utilisant le code:

final Animation animtopOut = AnimationUtils.loadAnimation(mContext, R.anim.header_animate_out);

Quand je déclenchement de l'animation, il fonctionne très bien si j'utilise le xml propriétés d'animation. Le problème est que lorsque je l'utilise via le code. Qui est ce que je veux. Il fonctionne avec les traduire de l'animation que pour la première fois. La deuxième fois, quand il est déclenché, la vue est à l'intérieur de l'écran, sans animation. S'il vous plaît quelques-on m'aider si je suis absent toute propriété. Merci.


EDIT : (plus d'info)

Il y a en fait deux différentes animations qui sont déclenchées sur le même point de vue par l'intermédiaire de deux événements différents. En fait, j'ai posté une propriété d'une animation. L'autre est presque la même. avec juste les valeurs sont différentes.

OriginalL'auteur Wesley | 2012-07-02