我有这个动画代码
private void shakeTooltip() {
if (MapView.gpuSupported() != MapView.GPU_SUPPORTED) return;
final TranslateAnimation breathUpTranslateAnimation =
new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0.0F, Animation.RELATIVE_TO_SELF,
0.0F, Animation.RELATIVE_TO_PARENT, 0.0F, Animation.RELATIVE_TO_SELF, -0.05F);
breathUpTranslateAnimation.setDuration(TOOLTIP_ANIM_DURATION * 3);
breathUpTranslateAnimation.setRepeatCount(2);
breathUpTranslateAnimation.setRepeatMode(Animation.REVERSE);
breathUpTranslateAnimation.setInterpolator(new DecelerateInterpolator());
// breathUpTranslateAnimation.setFillAfter(true);
toolTipLayout.startAnimation(breathUpTranslateAnimation);
}
我希望我的视图上下移动2次并在向下位置结束动画。
然而,现在它向上,向下,向上移动,然后移动到向下位置而没有翻译动画
好像它重新启动一样。它出现在向下位置而不会移动到那里。
我该如何解决这个问题?
答案 0 :(得分:0)
您应该将重复次数设置为3。您看到的跳回是因为您的动画的setFillAfter默认为false,如果您手动将其设置为true,它将在动画结束时保持原位。因此,为什么你需要将重复次数增加到3.