msh*_*hwf 5 c# foreach xamarin.forms
我有这个foreach循环,它改变了四个图像的Image's Source(在Xamarin Forms应用程序中):
int i = 0;
Device.StartTimer(TimeSpan.FromMilliseconds(50), () =>
{
i ++;
foreach (var img in imgs)
{
img.Source = $"radial{i}.png";
}
if (i == 5)
i = 0;
return true;
});
Run Code Online (Sandbox Code Playgroud)
但结果是四个图像没有同时变化,动画也不平滑.这里的网格分为四个季度,每个季度都有自己的图像视图:
当我使用FromSeconds(1)而不是FromMilliseconds(200),动画变得更加流畅
这些是我使用的图像,当我想画一个完整的圆圈时我会旋转它们:
您可以尝试使用 System.Collections.Concurrent 并使用调用循环
Parallel.ForEach(imgs, img => {
img.Source = $"radial{i}.png";
});
Run Code Online (Sandbox Code Playgroud)
然而,根据您想要实现的目标来判断,我宁愿使用 SkiaSharp 绘图插件以编程方式创建动画。
| 归档时间: |
|
| 查看次数: |
154 次 |
| 最近记录: |