Использование TranslateTo поверх Xamarin.Forms.Core.Animation для анимации? - PullRequest
0 голосов
/ 24 апреля 2018

В настоящее время я работаю над тем, чтобы сделать наше приложение очень отзывчивым для пользователя. Работая над этим, я наткнулся на приведенный ниже код для отображения неопределенного индикатора выполнения пользователю

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' для обработки анимации.У меня вопрос, какой из них лучше с точки зрения того, чтобы пользовательский интерфейс реагировал на пользователя.

Приведенный выше код должен показывать неопределенный индикатор выполнения поверх ListView, но это вовсе не мешает прокруткеListView.

1 Ответ

0 голосов
/ 21 мая 2018

TranslateTo - это конкретная реализация, использующая ресурсы Xamarin.Forms.Core.Animation. Оба реагируют на пользователя, они не замораживают поток приложения. На самом деле, второй выполняет работу в отдельном потоке, и SO обрабатывает изменения интерфейса быстро и плавно.

Смотрите мой ответ здесь , он показывает альтернативную реализацию для изменения цвета фона кнопки, используя тот же подход.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...