9

我遇到了这个奇怪的问题。基本上我正在用翻译动画制作一个视图。(通过 2 个不同的事件翻译到屏幕并输出)我的翻译动画代码是:

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

xml代码是:

<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>

使用代码设置它:

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

当我触发动画时,如果我使用 xml 动画属性,它可以正常工作。问题是当我通过代码使用它时。这就是我想要的。它仅第一次与翻译动画一起运行。第二次,当它被触发时,视图在屏幕内,没有动画。如果我缺少任何属性,请有人帮助我。谢谢。


编辑:(额外信息)

实际上有两个不同的动画通过两个不同的事件在同一个视图上触发。我实际上已经发布了一个动画属性。另一个几乎一样。只是价值观不同。

4

1 回答 1

4

你试过这样的动画配置吗

animtopOut.setRepeatCount(Animation.INFINITE);

animtopOut.setRepeatMode(Animation.RESTART);

animtopOut.setInterpolator(new LinearInterpolator());

?

于 2012-07-02T16:47:20.157 回答