我想在特定的时间延迟后在画布上绘制路径,我已经检查了此链接Draw a Path as animation on canvas ,但是它不能解释我正在寻找的问题。
我只想拖延一条路径。
private void OnPainSurface(object sender, SKPaintSurfaceEventArgs args)
{
canvas = args.Surface.Canvas;
canvas.Clear();
foreach (SKPath path in inProgressPaths.Values)
{
//Delay before drawing a path, ex: 5 seconds
canvas.DrawPath(path, paint);
}
}
答案 0 :(得分:0)
您可以在postInvalidateDelayed
上使用View
方法
在您的示例中为
foreach (SKPath path in inProgressPaths.Values)
{
//Delay before drawing a path, ex: 5 seconds
TimeUnit.SECONDS.sleep(5);
canvas.DrawPath(path, paint);
}
编辑
您可以只使用Handler
在每次迭代中给出一个延迟,在Kotlin中,这样做是这样的
Handler().postDelayed({
canvas.DrawPath(path, paint);
}, 5000)
编辑2
您可以尝试
Handler handler = new Handler();
Action action = () =>
{
canvas.DrawPath(path, paint);
};
handler.postDelayed(action, 5000);