【发布时间】:2011-08-09 12:23:25
【问题描述】:
这是我的场景。
首先,我为我的视图 (View.startAnimation(animationSet)) 设置动画,其中动画集同时包含 Translate + Rotate + Scale。它工作正常。
在那个动画集上我有fillAfter(true)。
一段时间后,用户单击一个按钮并 onClick 我必须在同一个视图上启动新的 ScaleAnimation。所以如果我做这样的事情:
@Override
public void onClick(View v) {
ScaleAnimation scaleAnimation = new ScaleAnimation(mOldScaleFactor, mScaleFactor, mOldScaleFactor, mScaleFactor, mPivotX, mPivotY);
scaleAnimation.setDuration(ANIMATION_DURATION_MILIS);
scaleAnimation.setStartOffset(ANIMATION_OFFSET_MILIS);
scaleAnimation.setFillAfter(true);
v.startAnimation(scaleAnimation);
}
之前的所有动画(Translate + Rotete + Scale)都被遗忘了。
如何从旧动画结束的地方开始新动画?
【问题讨论】: