完成后如何让动画再次工作?

时间:2015-02-11 01:05:44

标签: android animation

点击按钮我想让图像向下或向右移动。我遇到的问题是图像的移动只发生一次。在onClick()方法中,我只是调用其中一个移动方法。以下是移动方法。

private void moveLeftToRight() {
    animation = new TranslateAnimation(0.0f, 200.0f, 0.0f, 0.0f);
    animation.setDuration(1500); // animation duration
    animation.setFillAfter(true);
    iv1.startAnimation(animation); // start animation
}

private void moveUpToDown() {
    animation = new TranslateAnimation(0.0f, 0.0f, 0.0f, 200.0f);
    animation.setDuration(1500); // animation duration
    animation.setFillAfter(true);
    iv1.startAnimation(animation); // start animation
}

我可以第一次打电话给其中一个。此后动画方法不起作用。我想知道我是否需要重置或其他什么。有任何想法吗?提前谢谢。

1 个答案:

答案 0 :(得分:2)

当您将坐标传递给TranslateAnimation时,这些坐标相对于0,0而不是视图坐标。

要解决此问题,我们将使用view.bottomview.left等获取视图坐标。

然后将您要转换的值添加到这些值,将这些值传递给TranslateAnimation,您的翻译将按预期工作。