progressBar.Animate("SetProgress", (arg) => {
System.Diagnostics.Debug.WriteLine(arg); // 0.00 - 1.00 is the value
progressBar.Progress = arg;
}, 1, 5000, Easing.Linear,
(v, c) => progressBar.Progress = 0); // when finished, reset
这是我用来停止进度条的(工作正常(
progressBar.AbortAnimation("SetProgress");
因此,每次制作动画时,进度条都从0开始。现在我想从某个时间开始。因此,假设从 500 毫秒(5 秒(中的第 3 秒开始。
然后我这样做,progressBar.Progress = 0.3;
动画上方。无论哪种方式,进度条仍然从 0 秒开始。
我该怎么做才能在设置的 5 秒周期中启动计时器一段时间?
尝试这样的方式来设置动画的初始值
var animation = new Animation (v => progressBar.Progress = v, 0.3, 1);
animation.Commit (this, "SimpleAnimation", 16, 2000, Easing.Linear, (v, c) => image.Scale = 1, () => false);
要取消
this.AbortAnimation ("SimpleAnimation");
您可以使用"自定义"动画:
double totalTime = 5000;
double startTime = 3000;
var animation = new Animation(v => progress.Progress = v, startTime/totalTime, 1, Easing.Linear);
animation.Commit(this, "LinearProgressFromTime", 16, (uint)(totalTime - startTime) , Easing.Linear, (v, c) => progress.Progress = 1, () => false);