6

我有这个动画,它应该在淡入淡出时将应用的视图向上移出视图,将其移回视图下方,然后在淡出时移回视图。

问题是它似乎并没有消失 - 应用视图的不透明度始终是0.5.

<?xml version="1.0" encoding="UTF-8" ?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

    <translate
        android:fromYDelta="0"
        android:toYDelta="-200"
        android:interpolator="@android:anim/accelerate_interpolator"
        android:duration="1995"
        android:startOffset="3000" />
    <translate
        android:fromYDelta="200"
        android:toYDelta="0"
        android:interpolator="@android:anim/accelerate_interpolator"
        android:duration="1995"
        android:startOffset="8005" />   

    <alpha
        android:duration="500"
        android:fromAlpha="1.0"
        android:interpolator="@android:anim/accelerate_interpolator"
        android:repeatMode="reverse"
        android:startOffset="3000"
        android:toAlpha="0.5" />
    <alpha
        android:duration="1995"
        android:fromAlpha="0.5"
        android:interpolator="@android:anim/accelerate_interpolator"
        android:repeatMode="reverse"
        android:startOffset="8005"
        android:toAlpha="1.0" />
</set>

我尝试了很多事情,将它们嵌套在集合中,删除插值器等......唯一有效的是使用这个 SO 问题中给出的示例:android two alpha animations这让我相信它与与平移动画结合时运行 alpha 动画。

谢谢!

4

3 回答 3

6

这是一个例子:

AnimationSet set = new AnimationSet(true);
Animation trAnimation = new TranslateAnimation(0, 500, 0, 0);
trAnimation.setDuration(6000);

trAnimation.setRepeatMode(Animation.REVERSE); // This will make the view translate in the reverse direction

set.addAnimation(trAnimation);
Animation anim = new AlphaAnimation(1.0f, 0.0f);
anim.setDuration(3000);
set.addAnimation(anim); 

txtView.startAnimation(set); // replace this with your view

我希望这有帮助!您可以更改此设置并使用基于布局的动画定义 alpha 并在 set 标记下平移动画。

于 2013-10-04T16:53:23.787 回答
3

你应该试试这个:::

<alpha
    android:duration="200"
    android:fromAlpha="1.0"
    android:repeatCount="1"
    android:repeatMode="reverse"
    android:toAlpha="0.0" />

<translate
    android:duration="200"
    android:fromXDelta="0"
    android:repeatCount="1"
    android:repeatMode="reverse"
    android:toXDelta="50" />

于 2014-08-26T04:17:03.100 回答
1

你不需要使用两个翻译/阿尔法动画来得到你想要的,只需使用自定义插值器

编辑:看我昨天的回答淡出动画作品,但相反的淡入动画没有

于 2013-10-04T15:16:59.063 回答