Flutter倒计时功能插件quanht_countdown_timer的使用
Flutter倒计时功能插件quanht_countdown_timer的使用
Countdown - yet another countdown !!
Countdown 是一个带有暂停/恢复控制功能的倒计时插件。
Simple use
Use with controls
以下是一个完整的示例代码,展示如何在 Flutter 应用中使用 quanht_countdown_timer
插件:
import 'package:flutter/material.dart';
import 'package:countdown_timer/countdown_timer.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: CountdownExample(),
);
}
}
class CountdownExample extends StatefulWidget {
@override
_CountdownExampleState createState() => _CountdownExampleState();
}
class _CountdownExampleState extends State<CountdownExample> {
late CountDownController _controller;
@override
void initState() {
super.initState();
_controller = CountDownController(); // 初始化控制器
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('倒计时插件示例'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
AppCountdown(
autoStart: true, // 自动开始倒计时
onResend: () {
return Future.delayed(Duration.zero); // 点击重发时的回调
},
colorTimerStart: Colors.black, // 倒计时开始时的文本颜色
colorTimerEnd: Colors.white, // 倒计时结束时的文本颜色
controller: _controller, // 使用自定义控制器
textResend: Text('重发'), // 重发按钮的文字
),
SizedBox(height: 20),
Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
ElevatedButton(
onPressed: () {
_controller.start(); // 手动启动倒计时
},
child: Text('开始'),
),
ElevatedButton(
onPressed: () {
_controller.pause(); // 暂停倒计时
},
child: Text('暂停'),
),
ElevatedButton(
onPressed: () {
_controller.resume(); // 恢复倒计时
},
child: Text('继续'),
),
ElevatedButton(
onPressed: () {
_controller.restart(); // 重新开始倒计时
},
child: Text('重新开始'),
),
],
),
],
),
),
);
}
}
说明
-
导入插件:
import 'package:countdown_timer/countdown_timer.dart';
-
初始化控制器:
CountDownController _controller;
-
使用
AppCountdown
组件:AppCountdown( autoStart: true, // 是否自动开始倒计时 onResend: () { return Future.delayed(Duration.zero); // 点击重发时的回调 }, colorTimerStart: Colors.black, // 倒计时开始时的文本颜色 colorTimerEnd: Colors.white, // 倒计时结束时的文本颜色 controller: _controller, // 使用自定义控制器 textResend: Text('重发'), // 重发按钮的文字 )
-
添加控制按钮:
ElevatedButton( onPressed: () { _controller.start(); // 手动启动倒计时 }, child: Text('开始'), ), ElevatedButton( onPressed: () { _controller.pause(); // 暂停倒计时 }, child: Text('暂停'), ), ElevatedButton( onPressed: () { _controller.resume(); // 恢复倒计时 }, child: Text('继续'), ), ElevatedButton( onPressed: () { _controller.restart(); // 重新开始倒计时 }, child: Text('重新开始'), ),
更多关于Flutter倒计时功能插件quanht_countdown_timer的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter倒计时功能插件quanht_countdown_timer的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
quanht_countdown_timer
是一个 Flutter 插件,用于实现倒计时功能。它支持自定义倒计时的样式和行为,并且使用起来非常简单。以下是如何使用 quanht_countdown_timer
插件的步骤:
1. 添加依赖
首先,你需要在 pubspec.yaml
文件中添加 quanht_countdown_timer
插件的依赖:
dependencies:
flutter:
sdk: flutter
quanht_countdown_timer: ^1.0.0 # 请使用最新版本
然后,运行 flutter pub get
来安装依赖。
2. 导入插件
在你的 Dart 文件中导入 quanht_countdown_timer
插件:
import 'package:quanht_countdown_timer/quanht_countdown_timer.dart';
3. 使用 QuanHTCountdownTimer
QuanHTCountdownTimer
是一个小部件,你可以将它添加到你的 UI 中。以下是一个简单的示例:
import 'package:flutter/material.dart';
import 'package:quanht_countdown_timer/quanht_countdown_timer.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: CountdownTimerExample(),
);
}
}
class CountdownTimerExample extends StatefulWidget {
[@override](/user/override)
_CountdownTimerExampleState createState() => _CountdownTimerExampleState();
}
class _CountdownTimerExampleState extends State<CountdownTimerExample> {
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('QuanHT Countdown Timer Example'),
),
body: Center(
child: QuanHTCountdownTimer(
duration: Duration(seconds: 60), // 设置倒计时时间为60秒
onFinished: () {
// 倒计时结束时执行的操作
print('Countdown finished!');
},
builder: (BuildContext context, Duration remaining) {
// 自定义倒计时显示样式
return Text(
'${remaining.inSeconds} seconds remaining',
style: TextStyle(fontSize: 24),
);
},
),
),
);
}
}
4. 参数说明
duration
: 倒计时的总时长,类型为Duration
。onFinished
: 倒计时结束时执行的回调函数。builder
: 用于自定义倒计时显示样式的小部件构建函数,参数为BuildContext
和Duration
(表示剩余的时长)。
5. 其他功能
quanht_countdown_timer
还支持更多自定义功能,例如:
- 暂停和恢复倒计时:可以使用
QuanHTCountdownController
来控制倒计时的暂停和恢复。 - 自定义显示格式:你可以在
builder
函数中自定义倒计时的显示格式。
以下是一个使用 QuanHTCountdownController
的示例:
import 'package:flutter/material.dart';
import 'package:quanht_countdown_timer/quanht_countdown_timer.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: CountdownTimerExample(),
);
}
}
class CountdownTimerExample extends StatefulWidget {
[@override](/user/override)
_CountdownTimerExampleState createState() => _CountdownTimerExampleState();
}
class _CountdownTimerExampleState extends State<CountdownTimerExample> {
QuanHTCountdownController _controller = QuanHTCountdownController();
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('QuanHT Countdown Timer Example'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
QuanHTCountdownTimer(
controller: _controller,
duration: Duration(seconds: 60),
onFinished: () {
print('Countdown finished!');
},
builder: (BuildContext context, Duration remaining) {
return Text(
'${remaining.inSeconds} seconds remaining',
style: TextStyle(fontSize: 24),
);
},
),
SizedBox(height: 20),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
ElevatedButton(
onPressed: () {
_controller.start(); // 开始或恢复倒计时
},
child: Text('Start'),
),
SizedBox(width: 20),
ElevatedButton(
onPressed: () {
_controller.pause(); // 暂停倒计时
},
child: Text('Pause'),
),
],
),
],
),
),
);
}
}