Timer? _timer;
late final ValueNotifier<int> _notifier = ValueNotifier(0);
void _startTimer() {
if (_timer != null && _timer!.isActive) {
_stopTimer();
}
_timer = Timer.periodic(const Duration(milliseconds: 1000), (timer) {      _notifier.value++;
});
}
void _stopTimer() {
if (_timer != null) {
_timer!.cancel();
}
}
@override
void dispose() {
_stopTimer();
super.dispose();
}textstyle
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
elevation: 0.5,
title: const Text(
'AnimatedSwitcher 动画',
style: TextStyle(
color: Colors.white,
),
),
),
body: Column(
children: [
Container(
width: MediaQuery.of(context).size.width,
height: 180,
alignment: ,
child: _buildAnimatedSwitcher(context),
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
TextButton(
style: ButtonStyle(
backgroundColor:
MaterialStateProperty.all(Colors.blueAccent)),
child: const Text(
'开始',
style: TextStyle(
color: Colors.white,
),
),
onPressed: () => _startTimer(),
),
TextButton(
style: ButtonStyle(
backgroundColor:
MaterialStateProperty.all(Colors.blueAccent)),
child: const Text(
'停⽌',
style: TextStyle(
color: Colors.white,
),
),
onPressed: () => _stopTimer(),
),
]
,
),
],

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。