Как я могу остановить период таймера во Flutter?
class _LiftButtonLayerState extends State<LiftButtonLayer> {
late Timer _timer;
late double _timeElapsed;
var isPause = false;
var isTrue = true;
@override
void initState() {
super.initState();
}
repeatDownActivate() {
_timeElapsed = 0;
final timer = Timer.periodic(Duration(milliseconds: 200), (timer) {
liftDownButton.postReq();
print("down singal 5per 1 second ");
});
}
Container(
width: 180,
height: 60,
child: GFButton(
onPressed: () {
repeatUpActivate();
print('clicked Up Button');
},
text: '▲',
textStyle: const TextStyle(
fontSize: 26,
color: GFColors.WHITE,
),
shape: GFButtonShape.pills,
size: GFSize.LARGE,
buttonBoxShadow: true,
)),
Я узнал, что могу использовать Timer.cancel() из библиотеки Flutter Timer.
Я сделал функцию для timer.cancel() и применил timer.cancel() к onPressed на новой другой кнопке, но она не работает.
repeatUpActivate(isTrue) {
if (isTrue == '200') {
_timeElapsed = 0;
var _timer = Timer.periodic(Duration(milliseconds: 200), (timer) {
liftUpButton.postReq();
print("down singal 5per 1 second (ms)");
});
} else {
return false;
}
}
child: GFButton(
onPressed: () {
repeatUpActivate('900');
},