0
我有三种动画,比如缩放,平移和缩放。我按顺序播放这些动画。前两个工作正常,但最后一个缩放动画将视图的位置重置为原始位置。如果我删除了最后一个缩放动画,那么在翻译动画之后视图保持新位置时工作良好。你对这种行为有什么想法吗?比例动画重置位置
AnimationSet animationSet = new AnimationSet(false);
animationSet.setFillAfter(true);
ScaleAnimation scaleAnimation1 = new ScaleAnimation(0.0f, 1.0f, 0.0f, 1.0f);
scaleAnimation1.setDuration(500);
scaleAnimation1.setFillAfter(true);
TranslateAnimation moveAnim = new TranslateAnimation(0, -x, 0, -y);
moveAnim.setDuration(1000);
moveAnim.setStartOffset(500);
moveAnim.setFillAfter(true);
ScaleAnimation scaleAnimation2 = new ScaleAnimation(1.0f, 0.0f, 1.0f, 0.0f);
scaleAnimation2.setDuration(500);
scaleAnimation2.setStartOffset(1000);
scaleAnimation2.setFillAfter(true);
scaleAnimation2.setFillBefore(true);
animationSet.addAnimation(scaleAnimation1);
animationSet.addAnimation(moveAnim);
animationSet.addAnimation(scaleAnimation2);
“将视图的位置重置为原始位置” - 您能更精确吗?重置看起来像跳过屏幕?它重新设置为何处。 Android SDK的动画有一个常见的误解/设计缺陷,可能会导致这种情况。 – Tom
我的意思是,在动画之前,视图是屏幕的中心。翻译动画之后,视图会显示在顶部。当'scaleAnimation2'开始时,视图也会回到屏幕的中心 –