Чтобы запустить обратный отсчет во 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, вы сможете выполнить любое желаемое действие.