gpt4 book ai didi

java - 暂停和恢复翻译动画

转载 作者:太空狗 更新时间:2023-10-29 16:22:52 25 4
gpt4 key购买 nike

我正在使用 Translate Animation 移动 ImageView。我正在使用这段代码:

TranslateAnimation set1 = new TranslateAnimation(-4, 10, -110, 0);
set1.setDuration(3000);
TranslateAnimation set2 = new TranslateAnimation(10, -3, 0, 115);
set2.setDuration(3000);
set2.setStartOffset(2200);
TranslateAnimation set3 = new TranslateAnimation(-3, -20, 0, -100);
set3.setDuration(3000);
set3.setStartOffset(4500);
TranslateAnimation set4 = new TranslateAnimation(0, 13, 0, -120);
set4.setDuration(3000);
set4.setStartOffset(6500);

animSet.addAnimation(set1);
animSet.addAnimation(set2);
animSet.addAnimation(set3);
animSet.addAnimation(set4);

animSet.setFillAfter(true);

创建一组动画后,我将它们应用到 ImageView 上,如下所示:

image = (ImageView)findViewById(R.id.img);
image.startAnimation(animSet);

一切正常,但我无法暂停动画并在单击按钮时恢复

我该怎么做?

我尝试了一切,但没有成功。知道怎么做吗?

请帮忙!

最佳答案

找了一段时间我找到了这个link并检查这是否适用于翻译动画,经过一些修改后这也适用于您的动画。!

修改后的代码如下:

public class TranslateAnim extends TranslateAnimation{

public TranslateAnim(float fromXDelta, float toXDelta, float fromYDelta,
float toYDelta) {
super(fromXDelta, toXDelta, fromYDelta, toYDelta);
// TODO Auto-generated constructor stub
}

private long mElapsedAtPause=0;
private boolean mPaused=false;

@Override
public boolean getTransformation(long currentTime, Transformation outTransformation) {
if(mPaused && mElapsedAtPause==0) {
mElapsedAtPause=currentTime-getStartTime();
}
if(mPaused)
setStartTime(currentTime-mElapsedAtPause);
return super.getTransformation(currentTime, outTransformation);
}

public void pause() {
mElapsedAtPause=0;
mPaused=true;
}

public void resume() {
mPaused=false;
}
}

我只会更改类名、扩展类名和此类的构造函数。

你可以像这样使用它:

TranslateAnim set1, set2, set3, set4; // objects of TranslateAnim Class

set1 = new TranslateAnim(-4, 10, -110, 0); // initialize all objects like this way

animSet.addAnimation(set1); // add all animation objests in your animation set as you do before

animSet.setFillAfter(true);

在开始你的动画之后你只能调用暂停和恢复方法。感谢 Johan 与我们分享他的代码。

希望这能解决您的问题。 :)

关于java - 暂停和恢复翻译动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10006736/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com