簡體   English   中英

Flutter - 倒數計時器的更新持續時間

[英]Flutter - Update duration of countdown timer

我正在嘗試使用此資源顯示倒數計時器: https://stackoverflow.com/a/64312145/13240914

TweenAnimationBuilder<Duration>(
  duration: Duration(minutes: 3),
  tween: Tween(begin: Duration(minutes: 3), end: Duration.zero),
  onEnd: () {
    print('Timer ended');
  },
  builder: (BuildContext context, Duration value, Widget? child) {
    final minutes = value.inMinutes;
    final seconds = value.inSeconds % 60;
    return Padding(
      padding: const EdgeInsets.symmetric(vertical: 5),
      child: Text('$minutes:$seconds',
               textAlign: TextAlign.center,
               style: TextStyle(
               color: Colors.black,
               fontWeight: FontWeight.bold,
               fontSize: 30)));
    }),

問題是當持續時間仍在運行時,我想更新持續時間。 例如,當用戶單擊一個按鈕時,持續時間將從 10 秒變為 20 秒,但持續時間根本不會變為 20 秒……它會一直計數 10 秒。 有沒有辦法在持續時間仍在運行時更新 Duration 的值?

您不能使用 TweenAnimationBuilder 跳轉到新值。 為此,您必須使用明確的 animation 。 看看這個: 如何選擇適合您的 Flutter Animation Widget?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM