На моей странице есть индикатор активности, который называется indicator
. Я хочу оживить его, чтобы он перебирал все цвета. Для этого я использую этот метод:
public static async Task ActivityIndicatorRainbow(ActivityIndicator indicator, int colorDelay)
{
for (double i = 0; i < 1; i += 0.01)
{
Color c = Color.FromHsla(i, 0.5, 0.5);
indicator.Dispatcher.BeginInvokeOnMainThread(()=> indicator.Color = c);
await Task.Delay(colorDelay);
}
}
И в моем методе ButtonPressed я называю это следующим образом:
activityIndicator.IsRunning = true;
await Task.Run(() => ActivityIndicatorRainbow(activityIndicator, 10));
Вкл. Android это работает нормально, индикатор вращается, пока меняя цвета. Но в iOS индикатор останавливается до завершения задачи «Радуга», а затем начинает вращаться.
Я уже пробовал Device.InvokeOnMainThreadAsyn c () с теми же результатами