smladeoye/flutter-simple-timer
A Simple Flutter Timer Widget with various customizable features.
github へ移動してダウンロードSimpleTimer
A Simple Timer Widget that displays the timer progress with various customizable options.
Installing
To Start using this library include simple_timer as a dependency in your puspec.yaml file.
Make sure to include the latest version.
Pub link: https://pub.dev/packages/simple_timer
Usage
To use the widget, import the package in your project
import 'package:simple_timer/simple_timer.dart';
The timer can be controlled in two ways:
-
Using a TimerController (preferred) - The TimerController is a convenience wrapper (subclass) of an AnimationController and needs a TickerProvider, so be sure to extend a TickerProvider in your class. Declare and instantiate your timer controller like below:
// declaration TimerController _timerController; // instantiation _timerController = TimerController(this);
Note: Remember to dispose the TimerController
and set the controller property to the TimerController object like below:
Container( child: SimpleTimer( controller: _timerController, duration: Duration(seconds: 10), ) )
TimerController methods:
Method Description start Starts the timer e.g. (_timerController.start()) pause Pauses the timer e.g. (_timerController.pause()) reset Resets the timer e.g. (_timerController.reset()) restart Restarts the timer e.g. (_timerController.restart()) add Increases time left by the specified duration i.e. allows more time e.g. (_timerController.add(Duration(seconds: 10))) subtract Decreases time left by the specified duration i.e. reduces the time e.g. (_timerController.subtract(Duration(seconds: 10))) -
Setting the Status - The timer can also be controler by passing a TimerStatus value to the status property; like below:
Container( child: SimpleTimer( status: TimerStatus.start, duration: Duration(seconds: 10), ) )
Note: The SimpleTimer widget uses its parent size.
Customizable Options
There are various customizable options provided by the SimpleTimer widget, see below:
Property | Description | Value Type | Default Value |
---|---|---|---|
duration | The duration of the timer | Duration | |
controller | A TimerController to control the timer. If this is provided then status must be null. | TimerController | |
status | An alternative to the controller that sets the status of the timer. If provided, controller must be null | TimerStatus | |
timerStyle | Sets the look of the animated timer widget | TimerStyle | ring |
delay | Sets a start delay for timer - i.e. delays the start of the timer by the specified duration | Duration | Duration(seconds: 0) |
backgroundColor | The background color of the inner shape (circle) of the timer | Color | grey |
progressIndicatorColor | The color of the animating progress indicator. | Color | green |
progressIndicatorDirection | The rotating direction of the timer's progress indicator | TimerProgressIndicatorDirection | clockwise |
displayProgressIndicator | Sets whether to show the progress indicator | bool | true |
displayProgressText | Sets whether to show the progress text | bool | true |
progressTextStyle | The TextStyle used by the progress text. | TextStyle | |
progressTextCountDirection | The counting direction of the text displayed by the timer | TimerProgressTextCountDirection | count_down |
progressTextFormatter | A callback function to format the text displayed by this Timer. | String Function(Duration) | displays duration in MM:SS format |
onStart | Callback executed when the timer starts counting | VoidCallback | |
onEnd | Callback executed when the timer has finished counting | VoidCallback | |
valueListener | The callback executed for each change in the time elapsed | void Function(Duration) |
Pub link: https://pub.dev/packages/simple_timer
Demo - Controlling the Timer Status
Demo - Customizable options
![](/images/banner-woo.jpg)
関連する smladeoye/flutter-simple-timer 優れたプロジェクトの推薦ダウンロード
AppFlowy
47859
AppFlowy is an open-source alternative to Notion. You are in charge of your data and customizations. Built with Flutter and Rust.
localsend
33797
An open-source cross-platform alternative to AirDrop
spotube
23772
🎧 Open source Spotify client that doesn't require Premium nor uses Electron! Available for both desktop & mobile!
revanced-manager
15035
💊 Application to use ReVanced on Android
gsy_github_app_flutter
14559
Flutter 超完整的开源项目,功能丰富,适合学习和日常使用。GSYGithubApp系列的优势:我们目前已经拥有Flutter、Weex、ReactNative、kotlin 四个版本。 功能齐全,项目框架内技术涉及面广,完成度高,持续维护,配套文章,适合全面学习,对比参考。跨平台的开源Github客户端App,更好的体验,更丰富的功能,旨在更好的日常管理和维护个人Github,提供更好更方便的驾车体验Σ( ̄。 ̄ノ)ノ。同款Weex版本 : https://github.com/CarGuo/GSYGithubAppWeex 、同款React Native版本 : https://github.com/CarGuo/GSYGithubApp 、原生 kotlin 版本 https://github.com/CarGuo/GSYGithubAppKotlin
dio
12249
A powerful HTTP client for Dart and Flutter, which supports global settings, Interceptors, FormData, aborting and canceling a request, files uploading and downloading, requests timeout, custom adapters, etc.
gopeed
11832
A modern download manager that supports all platforms. Built with Golang and Flutter.
bloc
11441
A predictable state management library that helps implement the BLoC design pattern
getx
9899
Open screens/snackbars/dialogs/bottomSheets without context, manage states and inject dependencies easily with Get.
flame
8846
A Flutter based game engine.
flutter_deer
7595
🦌 Flutter 练习项目(包括集成测试、可访问性测试)。内含完整UI设计图,更贴近真实项目的练习。Flutter practice project (including integration testing and accessibility testing). Contains complete UI design drawings for a more realistic practice project.
fish-redux
7343
An assembled flutter application framework.
hiddify-next
7232
Multi-platform auto-proxy client, supporting Sing-box, X-ray, TUIC, Hysteria, Reality, Trojan, SSH etc. It’s an open-source, secure and ad-free.
ente
6686
Fully open source, End to End Encrypted alternative to Google Photos and Apple Photos
fl_chart
6451
FL Chart is a highly customizable Flutter chart library that supports Line Chart, Bar Chart, Pie Chart, Scatter Chart, and Radar Chart.
pixez-flutter
6360
一个支持免代理直连及查看动图的第三方Pixiv flutter客户端
Flutter-Responsive-Admin-Panel-or-Dashboard
6355
Responsive Admin Panel or Dashboard using Flutter
aidea
6021
AIdea 是一款支持 GPT 以及国产大语言模型通义千问、文心一言等,支持 Stable Diffusion 文生图、图生图、 SDXL1.0、超分辨率、图片上色的全能型 APP。
riverpod
5828
A reactive caching and data-binding framework. Riverpod makes working with asynchronous code a breeze.
pikapika
5463
美观易用且无广告的漫画和游戏客户端,同时支持MacOS,Windows,Android,iOS。