Таймер обратного отсчета во Flutter: пошаговое руководство с примером кода

Чтобы запустить обратный отсчет во Flutter, вы можете использовать класс Timerиз пакета dart:async. Вот пример того, как вы можете создать таймер обратного отсчета во Flutter:

import 'dart:async';
import 'package:flutter/material.dart';
class CountdownTimer extends StatefulWidget {
  @override
  _CountdownTimerState createState() => _CountdownTimerState();
}
class _CountdownTimerState extends State<CountdownTimer> {
  int _secondsRemaining = 10;
  Timer? _timer;
  @override
  void initState() {
    super.initState();
    startTimer();
  }
  void startTimer() {
    const oneSec = const Duration(seconds: 1);
    _timer = Timer.periodic(
      oneSec,
      (Timer timer) {
        setState(() {
          if (_secondsRemaining < 1) {
            timer.cancel();
            // Countdown finished, do something
          } else {
            _secondsRemaining--;
          }
        });
      },
    );
  }
  @override
  void dispose() {
    _timer?.cancel();
    super.dispose();
  }
  @override
  Widget build(BuildContext context) {
    return Center(
      child: Text(
        '$_secondsRemaining',
        style: TextStyle(fontSize: 48),
      ),
    );
  }
}
void main() => runApp(MaterialApp(home: CountdownTimer()));

В этом примере создается виджет CountdownTimer, который начинается с указанного количества оставшихся секунд (в данном случае 10 секунд). Таймер обновляется каждую секунду с помощью метода Timer. periodic. Когда обратный отсчет достигнет 0, вы сможете выполнить любое желаемое действие.