我正在制作其中一个闲置/ cicker游戏。每次用户点击屏幕时,我都会对图像进行脉冲处理(使其缩小然后非常快速地生长)。我有一个textview,以alpha为0开始,并将其值设置为我想要显示的值。
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:duration="800"
android:fromAlpha="0.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:toAlpha="1.0" />
<translate
android:fromYDelta="0%p"
android:toYDelta="-6%p"
android:duration="800" />
</set>
这是我当前执行动画的代码。
Animation plus = AnimationUtils.loadAnimation(this, R.anim.plus);
plusText.startAnimation(plus);
updateText();
plus.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation arg0) {}
@Override
public void onAnimationRepeat(Animation arg0) {}
@Override
public void onAnimationEnd(Animation arg0) {
plusText.setAlpha(0);
}
});
问题在于,如果用户点击的速度超过动画完成的时间,动画将停止并重置,您无法看到完整的动画。是否有一种方法,每次用户点击它只会将同一动画的另一个层叠在上面而不重复?
非常感谢任何帮助!