gpt4 book ai didi

java - TimingFramework和系统时间

转载 作者:行者123 更新时间:2023-11-30 04:46:59 25 4
gpt4 key购买 nike

我在应用程序中遇到动画问题,并且系统时间可以更改。我这样创建动画对象:

animator = new Animator(600, Animator.INFINITE, Animator.RepeatBehavior.REVERSE, setter);

setter 是一个从 0.0 到 1.0 变化的 alpha 属性。问题是,每当我更改系统时间时,动画就会停止/阻止。它有时会在一段时间后重新启动,具体取决于我设置的系统时间。有什么办法可以解决这个问题吗?非常感谢。

最佳答案

放入计时器并安排在动画器的同一时间段内工作(计时器的 run 方法将实例化动画器对象)。因此,每当动画师停止时,它都会像以下方式重新实例化:
计时器方法检查动画器是否正在工作,当答案是否定的时,它将实例化另一个具有相同参数的动画器,但仅在等于剩余时间的持续时间内进行动画处理。

代码示例:

public void execute() {
start();
timer_.scheduleRepeating(100);
}

public void start() {
timer_ = new Timer() {
public void run() {
update();
}
};
}


public void update() {
if (time > neededTime) {
timer_.cancel();
}else {
if(!animator) { //needs some optimization
animator = new Animator( ....
}
}
}

关于java - TimingFramework和系统时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10752808/

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