在我的应用程序中,我有这个动画。
但是这里出现了我的问题。在结束和新开始动画之间,图片会出现“闪烁”(在短暂的一瞬间出现和消失),我不知道如何防止这种情况发生。使用
我将非常乐意听取任何建议。
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true"
android:shareInterpolator="true">
<alpha
android:duration="1000"
android:startOffset="2000"
android:fromAlpha="0"
android:toAlpha="1"/>
<scale
android:duration="400"
android:startOffset="4000"
android:fromXScale="1"
android:fromYScale="1"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="0.9"
android:toYScale="0.9"/>
<scale
android:duration="400"
android:startOffset="4400"
android:fromXScale="0.9"
android:fromYScale="0.9"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="1"
android:toYScale="1"/>
<alpha
android:duration="1000"
android:startOffset="5800"
android:fromAlpha="1"
android:toAlpha="0"/>
</set>
通常它会显示图像,进行“按压”手势并将其隐藏。我想要的是在无限循环中运行此动画。设置参数repeatCount
没有效果。我发现的唯一方法是在动画监听器中再次启动动画。
final Animation pointerAnim = AnimationUtils.loadAnimation(this, R.anim.pointer);
pointerAnim.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(final Animation animation) {}
@Override
public void onAnimationEnd(final Animation animation) {
pointerView.startAnimation(pointerAnim);
}
@Override
public void onAnimationRepeat(final Animation animation) {}
});
pointerView.startAnimation(pointerAnim);
但是这里出现了我的问题。在结束和新开始动画之间,图片会出现“闪烁”(在短暂的一瞬间出现和消失),我不知道如何防止这种情况发生。使用
fillAfter
也没有效果。在监听器中设置适当的可见性也无效。请注意,目标API是10。我将非常乐意听取任何建议。