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秒时间内,我应该怎么做才能在一定时间内启动计时器?
答案 0 :(得分:1)
尝试类似的方法来设置动画的初始值
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");
答案 1 :(得分:0)
您可以使用“自定义”动画:
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);