Как я могу добавить индикатор прогресса в этот код флаттера - PullRequest
0 голосов
/ 13 июля 2020

Я использую аутентификацию по телефону с помощью firebase, здесь, когда я нажимаю кнопку «Подтвердить», я хочу показать круговой индикатор выполнения, как я могу это сделать?

1 Ответ

1 голос
/ 13 июля 2020

В своей функции onTap вы можете использовать Overlays

Overlay.of(context).insert(_yourCustomOverlayEntry)
await AuthService().yourFunction
_yourCustomOverlayEntry.remove();

Вы можете инициализировать свое поле _yourCustomOverlayEntry:

OverlayEntry _yourCustomOverlayEntry =
      OverlayEntry(builder: (context) => YourCustomLoader(), opaque: false);

Я лично использую flutter_spinkit для создания моего загрузчика, но вы также можете используйте встроенный CircularProgressIndicator (проверьте API флаттера)

Обновление:

Затем вы можете использовать прослушиватели в задачах firebase для обновления прогресса

task.events.listen((event) {
  final double progress =
          event.snapshot.bytesTransferred / event.snapshot.totalByteCount;
      setState(() {
        _progress = progress;
      });
  });

И использовать двойной _progress в вашем индикатор прогресса.

(это тот, который я использовал для загрузки в хранилище firebase, поэтому вам придется изменить для себя, хотя вход в систему не должен быть слишком долгим, и вместо этого вы можете быть довольны загрузчиком спина фактического прогресса)

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