我正在尝试创建一个视图的镜像反射,因为我厌倦了使用以下代码的Y轴ObjectAnimator动画:
ObjectAnimator animation = ObjectAnimator.ofFloat(view, "rotationY", 0.0f, 360f);
animation.setDuration(3600);
animation.setRepeatCount(ObjectAnimator.INFINITE);
animation.setInterpolator(new AccelerateDecelerateInterpolator());
animation.start();
这完美无缺,但我希望动画在到达所需的结束位置后停止,而不是返回到原始位置。
经过一番研究后,我发现将Animation对象的setFillAfter(boolean)方法设置为true就可以了。
现在我的问题是我无法将ObjectAnimator动画转换为标准动画代码。访问该方法。
我意识到我可以使用RotateAnimation(float fromDegrees, float toDegrees, float pivotX, float pivotY)
旋转我的视图并将其保留在结束位置。
但我无法弄清楚pivotx和pivoty值应该是什么,以便视图保持在同一位置并翻转。
答案 0 :(得分:0)
通常,当动画结束时,ObjectAnimator会停留在所需的位置。我在猜测这条线
animation.setRepeatCount(ObjectAnimator.INFINITE);
是什么让你的动画在一个无限循环中反复开始,删除这一行你应该没事......