试图甚至多次反转我的Android动画

时间:2014-03-17 10:26:14

标签: java android animation android-animation

我有这个动画代码

  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次并在向下位置结束动画。

然而,现在它向上,向下,向上移动,然后移动到向下位置而没有翻译动画

好像它重新启动一样。它出现在向下位置而不会移动到那里。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您应该将重复次数设置为3。您看到的跳回是因为您的动画的setFillAfter默认为false,如果您手动将其设置为true,它将在动画结束时保持原位。因此,为什么你需要将重复次数增加到3.