点击按钮我想让图像向下或向右移动。我遇到的问题是图像的移动只发生一次。在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
}
我可以第一次打电话给其中一个。此后动画方法不起作用。我想知道我是否需要重置或其他什么。有任何想法吗?提前谢谢。
答案 0 :(得分:2)
当您将坐标传递给TranslateAnimation
时,这些坐标相对于0,0而不是视图坐标。
要解决此问题,我们将使用view.bottom
,view.left
等获取视图坐标。
然后将您要转换的值添加到这些值,将这些值传递给TranslateAnimation
,您的翻译将按预期工作。