Xamarin ListView微调器对于异步命令太快消失

Xamarin ListView微调器对于异步命令太快消失,xamarin,asynchronous,xamarin.forms,xamarin.android,Xamarin,Asynchronous,Xamarin.forms,Xamarin.android,我有一个Xamarin.Forms列表视图,我想在拉取时刷新该视图: 代码隐藏: private bool isRefreshing=false; 公共图书馆正在刷新 { 获取{return isRefreshing;} 设置 { isRefreshing=值; OnPropertyChanged(名称(IsRefreshing)); } } 私有void SetListViewToRefreshOnPull()文件 { listView.RefreshCommand=新命令(异步()=>

我有一个Xamarin.Forms列表视图,我想在拉取时刷新该视图:


代码隐藏:

private bool isRefreshing=false;
公共图书馆正在刷新
{
获取{return isRefreshing;}
设置
{
isRefreshing=值;
OnPropertyChanged(名称(IsRefreshing));
}
}
私有void SetListViewToRefreshOnPull()文件
{
listView.RefreshCommand=新命令(异步()=>
{
IsRefreshing=真;
wait RefreshData;//在此处等待后,微调器将更改外观。
IsRefreshing=假;
});
}
私有任务刷新数据=>Task.Delay(5000);
当然,我让refresh命令等待5秒钟以模拟缓慢的API响应

向下拉列表视图将按预期显示微调器:

但是,只要
RefreshData
任务开始等待5秒,微调器就会进入一种奇怪的“变形”状态,不会旋转:


“完全”微调器在变形前仅显示一秒钟,因此此行为并不理想有没有办法让完整微调器在异步刷新的整个过程中保持不变?

尝试
IsRefreshing=false
,它应该隐藏加载指示器。

这是Xamarin表单,而不是Xamarin Android将刷新数据方法更新为asyn。。。。私有异步任务RefreshData=>等待任务。延迟(5000)。。。Check Updated method to async(检查更新方法是否有效)在异步逻辑结束时尝试将IsRefreshing设置为false。@HamidShaikh,这不是有效的代码,但我将该命令设置为async方法而不是属性,并且得到了相同的奇怪行为。@Sparshattara,我已经在设置
IsRefreshing
。问题似乎是框架过早地离开了刷新状态。无论如何,我将
IsRefreshing=false
赋值移动到
RefreshData
async方法,该方法给出了相同的奇怪行为,因此我仍然被卡住了。我已经这样做了,问题不是我无法隐藏加载指示器;问题是我不能让整个旋转器一直保持不动。是的,我知道了。这是安卓的默认行为。你无法保持它的可见性。但是,可以使用“自定义渲染”更改其颜色。您试图实现的是iOS的默认行为。