我已经使用类构建了一个Alpha动画,它连续地交叉衰减两个图像
Animation
.
每个图像都会淡入淡出。动画结束后,它会自行重置并重新启动:
anim.setAnimationListener(new Animation.AnimationListener(){
@Override
public void onAnimationEnd(Animation arg0) {
arg0.reset();
arg0.startNow();
}
});
另一个图像使用完全相同的动画,但启动时会有延迟。因此,image1淡入,不断显示,然后慢慢淡出,image2淡入,不断显示,然后慢慢淡出,image1再次淡入,依此类推。
anim.setStartTime(AnimationUtils.currentAnimationTimeMillis() + DELAY);
view.setAnimation(anim);
如果应用程序在没有用户干扰的情况下运行,它似乎会慢慢失去同步。当应用程序暂停然后恢复时,动画将完全不同步。我认为原因是它创建了独立的线程,而没有同步。
有没有一种简单的方法可以以同步的方式完成它?
动画XML如下所示
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="1000"
android:startOffset="0"/>
<alpha
android:fromAlpha="1.0"
android:toAlpha="0"
android:duration="2000"
android:startOffset="2000"/>
</set>