bixat/rocket_timer
rocket_timer 包支持启动、暂停、停止、重置以及在倒计时和正常模式之间切换
- Stars
- 0
- Forks
- 1
- 最近推送(UTC)
- 2023年10月1日
- 项目状态
- 未归档
技术话题
使用的依赖
依赖清单 3 项
- flutter
{"sdk":"flutter"} - flutter_test开发依赖
{"sdk":"flutter"} - flutter_lints开发依赖
^2.0.0
原始 README
以下为英文项目原文快照,最新内容请访问 GitHub。
展开 / 收起项目 README
Rocket Timer
The rocket_timer package provides a RocketTimer class for implementing countdown or normal timers in Flutter applications, as well as a RocketTimerBuilder widget for building widgets that respond to changes in a RocketTimer object. It supports starting, pausing, stopping, resetting, and switching between countdown and normal modes, and is easy to use and customize.
Usage
To use the RocketTimer class, simply create a new instance of it and call its methods to control the timer:
import 'package:rocket_timer/rocket_timer.dart';
final RocketTimer timer = RocketTimer(duration: 60, type: TimerType.countdown);
// Start the timer
timer.start();
// Pause the timer
timer.pause();
// Stop the timer
timer.stop();
// Reset the timer
timer.reset();
// Switch between countdown and normal modes
timer.switchMode();
// Restart timer
timer.restart();
To display the timer in a widget, you can use the RocketTimerBuilder widget which listens to changes in a RocketTimer object and rebuilds the widget tree accordingly:
import 'package:flutter/material.dart';
import 'package:rocket_timer/rocket_timer.dart';
class MyHomePage extends StatefulWidget {
const MyHomePage({Key? key, required this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
final RocketTimer _rocketTimer = RocketTimer(duration: 60, type: TimerType.countdown);
@override
void dispose() {
_rocketTimer.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: RocketTimerBuilder(
timer: _rocketTimer,
builder: (BuildContext context) {
return Text(
_rocketTimer.formattedDuration,
style: Theme.of(context).textTheme.headline1,
);
},
),
),
);
}
}
API Reference
See the full API reference for the RocketTimer class and the RocketTimerBuilder widget in the rocket_timer package documentation.