目前我正在努力使我们的应用程序对用户非常敏感, 在进行此操作时,我遇到了以下代码,向用户显示无限进度条
Task.Run(async () => {
while (!_progressCts.IsCancellationRequested)
{
await (box as BoxView).TranslateTo(this.Width, 0, 1200);
await (box as BoxView).TranslateTo(-this.Width, 0, 0);
}
}, _progressCts.Token);
这个动画看起来很简单但是从文档中我知道有一个单独的类叫做'Xamarin.Forms.Core.Animation'来处理动画。 我的问题是哪个方面在使UI响应用户方面更好。
上面的代码是在ListView上显示一个不确定的进度条但是它根本不会干扰ListView的滚动体验。
答案 0 :(得分:2)
TranslateTo
是使用Xamarin.Forms.Core.Animation
资源的特定实现。两者都响应用户,他们不冻结应用程序流。实际上,第二个是在一个单独的线程中完成工作,SO可以快速平滑地处理界面。
Look my answer here,它显示了使用相同方法更改按钮背景颜色的替代实现。