我在使用Circular_countdown_timer库更改持续时间并使用更新的时间重新开始倒计时时遇到问题。这是我的代码:
int duration = 6;
CountDownController _controller = CountDownController();
CircularCountDownTimer countDownWidget() {
return CircularCountDownTimer(
duration: duration,
controller: _controller,
width: MediaQuery.of(context).size.width / 2,
height: MediaQuery.of(context).size.height / 2,
color: Colors.orangeAccent,
fillColor: Colors.red,
backgroundColor: Colors.grey,
strokeWidth: 10.0,
textStyle: TextStyle(
fontSize: 22.0, color: Colors.black, fontWeight: FontWeight.bold),
isReverse: true,
isTimerTextShown: true,
onComplete: () {
print('Countdown Ended');
setState(() {
duration = 9;
_controller.restart();
});
},
);}
答案 0 :(得分:1)
我在restart
的{{1}}方法中添加了可选的 int 参数,以轻松实现您的要求
即 CountDownController
在上面的语句中,命名参数_controller.restart (duration: 20);
已更新为倒计时的持续时间。