android两个alpha动画

时间:2012-08-10 01:25:04

标签: android animation

我正在尝试在一个AnimationSet中放入两个alpha动画,如下所示,但是当我运行它时,会发生第一个(淡出)动画,但对于下一个动画它仍然是空白的。我知道我可以使用repeatMode="reverse"来做这件事,但我想知道为什么这不起作用以防我想做更多的事情。感谢。

   <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android" >
        <alpha
            android:duration="1000"
            android:fillAfter="false"
            android:fromAlpha="1.0"
            android:toAlpha="0.0" />
        <alpha
            android:duration="1000"
            android:fillBefore="false"
            android:fillEnabled="true"
            android:fromAlpha="0.0"
            android:startOffset="1000"
            android:toAlpha="1.0" />
    </set>

1 个答案:

答案 0 :(得分:1)

我按照同样的想法来到这篇文章。我现在已经测试了这个。 出乎意料的是它的工作完美。这是我的代码。

    <alpha
        android:duration="1000"
        android:fromAlpha="0.25"
        android:interpolator="@android:anim/accelerate_interpolator"
        android:repeatMode="reverse"
        android:startOffset="500"
        android:toAlpha="1.0" />
    <alpha
        android:duration="1000"
        android:fromAlpha="1.0"
        android:interpolator="@android:anim/accelerate_interpolator"
        android:repeatMode="reverse"
        android:startOffset="3500"
        android:toAlpha="0.25" />

第一个将alpha设置为更高的值,并在一段时间后使用第二个alpha拉低。 确保将“repeatMode”添加为“反向”,即使未设置repeatcount且不会重复。并且发生的实际流量不会反转第一个alpha,而是切换到第二个alpha以进行反向操作。