我正在尝试在一个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>
答案 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以进行反向操作。