我有一个从location1到location2的图像的翻译动画。但是,在动画期间的任何时候,如果用户单击按钮,那么我想将图像所在的另一个平移动画应用到location3(即使动画尚未完成)。我能以任何方式做到这一点吗?
由于
TranslateAnimation translate = new TranslateAnimation(0, mDestLoc[0]-mSrcLoc[0], 0, mDestLoc[1]-mSrcLoc[1]);
translate.setFillAfter(true);
translate.setDuration(getDuration());
ball.startAnimation(translate);
void onbuttonClicked(){
// stop previous animation and translate image to location 3 "From where it stopped"
}
答案 0 :(得分:0)
为什么不使用ObjectAnimators?
您可以为特定目标创建动画制作者(如果您运行的版本大于等级的API级别12,则可以通过animate()获取视图)然后翻译,调整大小,淡化,...你的对象。
如果由于某些特殊原因取消了第一个动画,您可以调用cancel,然后视图将保持当前状态。然后,如果您根据当前值创建另一个动画师,您应该能够轻松地执行另一个动画。