国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Flutter實(shí)現(xiàn)倒計時功能,秒數(shù)轉(zhuǎn)時分秒,然后倒計時

這篇具有很好參考價值的文章主要介紹了Flutter實(shí)現(xiàn)倒計時功能,秒數(shù)轉(zhuǎn)時分秒,然后倒計時。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

Flutter實(shí)現(xiàn)倒計時功能
發(fā)布時間:2023/05/12
本文實(shí)例為大家分享了Flutter實(shí)現(xiàn)倒計時功能的具體代碼,供大家參考,具體內(nèi)容如下

有一個需求,需要在頁面進(jìn)行顯示倒計時,倒計時結(jié)束后,做相應(yīng)的邏輯處理。

實(shí)現(xiàn)思路:在Flutter中,Timer.periodic提供了循環(huán)功能,查看函數(shù)定義:

factory Timer.periodic(Duration duration, void callback(Timer timer))

第一個參數(shù)就是時間間隔,第二個參數(shù)就是事件處理回調(diào)。

由于后臺返回的是秒數(shù),所以需要根據(jù)總秒數(shù)計算小時,分鐘,秒。同時,當(dāng)不滿一個小時時,只顯示分鐘和秒數(shù),當(dāng)分鐘和秒數(shù)只有一個數(shù)時(比如1分8秒,顯示為01:08)前面加“0”處理。

完整代碼:

import 'package:flutter/material.dart';
import 'dart:async';

class CounterDownPage extends StatefulWidget {
  @override
  _CounterDownPageState createState() => _CounterDownPageState();
}

class _CounterDownPageState extends State<CounterDownPage> {
  // 用來在布局中顯示相應(yīng)的剩余時間
  String remainTimeStr = '';
  Timer _timer;

   //倒計時 
  void startCountDown(int time) {
    // 重新計時的時候要把之前的清除掉
    if (_timer != null) {
      if (_timer.isActive) {
        _timer.cancel();
        _timer = null;
      }
    }

    if (time <= 0) {
      return;
    }

    var countTime = time;
    const repeatPeriod = const Duration(seconds: 1);
    _timer = Timer.periodic(repeatPeriod, (timer) { 
      if (countTime <= 0) {
        timer.cancel();
        timer = null;
        //待付款倒計時結(jié)束,可以在這里做相應(yīng)的操作
        
        return;
      }
      countTime--;

    //外面?zhèn)鬟M(jìn)來的單位是秒,所以需要根據(jù)總秒數(shù),計算小時,分鐘,秒
    int hour = (countTime ~/ 3600) % 24;//如果不止24小時的就不用%24
    int minute = countTime % 3600 ~/60;
    int second = countTime % 60;

    var str = '';
    if (hour > 0) {
      str = str + hour.toString()+':';
    }

    if (minute / 10 < 1) {//當(dāng)只有個位數(shù)時,給前面加“0”,實(shí)現(xiàn)效果:“:01”,":02"
      str = str + '0' + minute.toString() + ":";
    } else {
      str = str + minute.toString() + ":";
    }

    if (second / 10 < 1) {
      str = str + '0' + second.toString();
    } else {
      str = str + second.toString();
    }

    setState(() {
      remainTimeStr = str;
    });

    });
  }

 @override
  void initState() {
    super.initState();
    //開始倒計時,這里傳入的是秒數(shù)
     startCountDown(5000);
  }

@override
  void dispose() {
    super.dispose();
    if (_timer != null) {
      if (_timer.isActive) {
        _timer.cancel();
        _timer = null;
      }
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("倒計時"),
      ),
      body: Center(
        child: Row(
       mainAxisAlignment: MainAxisAlignment.center,
       children: [
         Text("剩余", style: TextStyle(
           fontSize: 18,
           color: Color.fromRGBO(255, 111, 50, 1),
           fontWeight: FontWeight.bold
         ),),
          Text(remainTimeStr.length > 0 ? remainTimeStr: "--", style: TextStyle(
           fontSize: 18,
           color: Color.fromRGBO(255, 111, 50, 1),
           fontWeight: FontWeight.bold
         ),),
       ],
      ),
      ),
    );
  }
}

Flutter實(shí)現(xiàn)倒計時功能,秒數(shù)轉(zhuǎn)時分秒,然后倒計時,flutter,flutter,javascript,開發(fā)語言
服務(wù)器返回的時間戳87392,現(xiàn)在的時間戳+87392 現(xiàn)在的時間戳,兩者的時間戳相差二十多個小時,也就是說87392就是秒數(shù),直接傳秒數(shù)到上面的startCountDown方法即可。文章來源地址http://www.zghlxwxcb.cn/news/detail-641729.html

到了這里,關(guān)于Flutter實(shí)現(xiàn)倒計時功能,秒數(shù)轉(zhuǎn)時分秒,然后倒計時的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 51單片機(jī)實(shí)現(xiàn)倒計時,按鍵控制倒計時

    51單片機(jī)實(shí)現(xiàn)倒計時,按鍵控制倒計時

    基于AT89C52的答辯倒計時。四個按鍵分別控制倒計時開始,暫停,時間加和減。剩下30S時蜂鳴器響,倒計時結(jié)束蜂鳴器響。 ?

    2024年02月07日
    瀏覽(33)
  • uni-app小程序中實(shí)現(xiàn)倒計時功能

    在uni-app小程序中實(shí)現(xiàn)倒計時功能,可以按照以下步驟進(jìn)行: 在data中設(shè)置一個變量用于存儲倒計時的剩余時間: 在methods中創(chuàng)建一個函數(shù),用于控制倒計時的邏輯: 可以在點(diǎn)擊按鈕或其他事件觸發(fā)時調(diào)用startCountdown方法來開始倒計時: 在頁面中顯示倒計時時間: 可以在頁面中

    2024年02月07日
    瀏覽(29)
  • jquery 實(shí)現(xiàn)倒計時

    $(\\\".tableText\\\").click(function () { ? ? var time = 60; ? ? var timer = setInterval(function(){ ? ? ? ? time--; ? ? ? ? $(\\\".tableText\\\").text(\\\"(\\\"+time+\\\"秒)重發(fā)\\\"); ? ? ? ? if(time==0){ ? ? ? ? ? ? clearInterval(timer); ? ? ? ? ? ? $(\\\".tableText\\\").text(\\\"獲取驗(yàn)證碼\\\"); ? ? ? ? } ? ? },1000); });

    2024年04月14日
    瀏覽(32)
  • 51單片機(jī)通過計時器實(shí)現(xiàn)倒計時

    51單片機(jī)通過計時器實(shí)現(xiàn)倒計時

    軟件 : Keil5+Proteus7 元件 : AT89C51 * 1,7SEG-MPX2-CA * 1

    2024年02月16日
    瀏覽(118)
  • 【D01】Django中實(shí)現(xiàn)帶進(jìn)度條的倒計時功能(簡易版)

    【D01】Django中實(shí)現(xiàn)帶進(jìn)度條的倒計時功能(簡易版)

    首先說明簡易版是只有一個 倒計時 和一個 進(jìn)度條 ,頁面加載后自動開始計時,下次計時需要手動刷新頁面。 后續(xù)會更新實(shí)現(xiàn)完整的倒計時功能的文章 前端框架 你需要準(zhǔn)備一些前端框架: Bootstrap4 和 jQuery 安裝方法請自行查閱官方文檔或教程 Bootstrap4:https://v4.bootcss.com/do

    2023年04月12日
    瀏覽(29)
  • jquery 實(shí)現(xiàn)倒計時60秒

    2024年02月04日
    瀏覽(38)
  • java 倒計時實(shí)現(xiàn)的方式

    java 倒計時實(shí)現(xiàn)的方式

    ? 倒計時的實(shí)現(xiàn)方法有很多種,本文給大家介紹其中一種,最簡單的一種實(shí)現(xiàn)方式,也是最方便的一種方式,希望能幫到大家。 1、 java中倒計時是利用循環(huán)來實(shí)現(xiàn)的,我們可以使用循環(huán)語句來實(shí)現(xiàn)。 2、 java中使用 bool類的 setTimeout方法也是可以實(shí)現(xiàn)倒計時的。 3、 java中還有一

    2024年02月09日
    瀏覽(30)
  • Unity實(shí)現(xiàn)倒計時和獲取系統(tǒng)時間

    Unity實(shí)現(xiàn)倒計時和獲取系統(tǒng)時間

    ? 一:創(chuàng)建UGUI 1.創(chuàng)建Canvas畫布組件,調(diào)節(jié)Canvas畫布的分辨率等其他設(shè)置。我們可以把視圖設(shè)置為2D模式下。 ? 2.創(chuàng)建Text文本組件,取名為Timer計時器,我們調(diào)整Text文本組件的大小,用錨點(diǎn)設(shè)置Text文本組件的位置,并且設(shè)置好Text文本組件的顏色。 ? 3.我們再創(chuàng)建一個Text文本組

    2024年02月10日
    瀏覽(33)
  • 前端實(shí)現(xiàn)手機(jī)短信驗(yàn)證碼倒計時效果

    實(shí)現(xiàn)效果:實(shí)現(xiàn)按鈕倒計時10s后可重新發(fā)送驗(yàn)證碼 一、思路 1、禁用按鈕,調(diào)用后端接口,獲取驗(yàn)證碼 2、setTimeOut(() = {},1000)延遲1s執(zhí)行,time - 1,返回文案,9s 3、迭代處理,調(diào)用自身函數(shù),time - 1,返回文案,8s,實(shí)現(xiàn)9s 8s 7s 這樣倒計時的效果。 4、不能無限迭代減1,判斷時

    2024年02月04日
    瀏覽(37)
  • JavaFx實(shí)現(xiàn)倒計時按鈕組件(類似發(fā)送激活碼)

    JavaFx實(shí)現(xiàn)倒計時按鈕組件(類似發(fā)送激活碼)

    原文地址: JavaFx實(shí)現(xiàn)倒計時按鈕組件(類似發(fā)送激活碼) - Stars-One的雜貨小窩 本文基于TornadoFx框架進(jìn)行編寫,封裝工具代碼是kotlin版本 然后也是順便把這個封裝成了stars-one/common-controls 里的 xCountDownBtn 點(diǎn)擊按鈕的時候,將當(dāng)前按鈕設(shè)置為禁用狀態(tài),之后開啟一個線程去倒計時,間隔

    2024年02月04日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包