Как приостановить таймер после того, как он создал трепетание - PullRequest
0 голосов
/ 11 июля 2020

Я использую библиотеку обратного отсчета таймера , но она сразу же начинает обратный отсчет после создания виджета. У меня есть контроллер, у которого есть метод .pause(), который работает. Как мне вызвать функцию паузы сразу после создания виджетов?

Пример: как я могу немедленно приостановить ее?

class MyWidget extends StatelessWidget {
  final CountdownController controller = CountdownController();
  @override
  Widget build(BuildContext context) {
    return Countdown(
      controller: controller, // controller.pause() would pause it
      seconds: 20,
      build: (context, double time) => Text(time.toString()),
      interval: Duration(milliseconds: 100),
      onFinished: () {
        print('Timer is done!');
      },
    );
  }
}

1 Ответ

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

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

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

...