【flutter】页面按钮被点击后倒计时

在Flutter开发中,实现页面按钮被点击后倒计时15秒,这15秒内按钮不能再次被点击的功能,可以通过使用Flutter的Timer类来实现。以下是一个简单的示例代码:

dart 复制代码
import 'package:flutter/material.dart';
import 'dart:async';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  bool _buttonEnabled = true;

  void _startCountdown() {
    setState(() {
      _buttonEnabled = false;
    });

    Timer(Duration(seconds: 15), () {
      setState(() {
        _buttonEnabled = true;
      });
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Countdown Button Example'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: _buttonEnabled ? _startCountdown : null,
          child: Text('Click Me'),
        ),
      ),
    );
  }
}

这段代码创建了一个按钮,点击按钮后会触发倒计时15秒的功能,期间按钮会被禁用。倒计时结束后按钮恢复可点击状态。

相关推荐
恋猫de小郭1 小时前
Android 17 正式版发布,全新 AI 和各种破坏性更新
android·前端·flutter
911hzh2 小时前
Flutter MethodChannel 跨端通信框架 zh_native_channel:快速入门、优势分析与 Pigeon 对比
flutter
911hzh3 小时前
Flutter 快速搭建新项目:用 Flutter Foundation Kit 一条命令生成带基础架构的 App 模板
flutter
kingbal4 小时前
Flutter:Flutter SDK版本管理工具FVM
android·flutter·ios·android-studio·window
风华圆舞4 小时前
鸿蒙 Flutter 页面怎么感知防窥状态并调整 UI 可见性
flutter·ui·harmonyos
天天开发4 小时前
Flutter状态管理新宠:RiverPod全面解析与实战指南
android·flutter
「、皓子~14 小时前
海狸IM 2.0 正式发布:六端齐发,开源 IM 迈入新阶段
flutter·electron·开源软件·ai编程·交友·im
JIngles12318 小时前
flutter避免对widget图片作重复刷新(含实际图片发生变化或不发生变化)
flutter
雾沉川1 天前
Flutter 入门开发环境完整搭建教程
学习·flutter