Search packages, repositories and app categories

neon_circular_timer cover
Package detailsv0.0.8

neon_circular_timer

A package that helps you to build a timer quickly with a beautiful UI, it's highly customizable you can change the color,the thickness of the timer,the clock text style.

AndroidiOSWebmacOSWindowsLinux
30-day downloads
308
Likes
69
Pub points
140

Install package

flutter pub add neon_circular_timer

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

NeonCircularTimer is a Flutter package designed to create visually appealing circular timers with minimal effort. It offers a sleek, customizable interface allowing users to adjust colors, stroke thickness, and text style for the timer display. Ideal for countdowns, fitness apps, or any app requiring a dynamic time indicator, it supports all major platforms including Android, iOS, Web, macOS, Windows, and Linux. The package enhances user experience with smooth animations and modern neon-inspired aesthetics.

Use cases

  • Fitness tracking
  • Study session timers
  • Game countdowns
  • Event reminders
  • Interactive app interfaces

Key features

  • Highly customizable appearance
  • Smooth animated transitions
  • Supports multiple platforms
  • Adjustable stroke width and colors
  • Customizable text styling
  • Neon-style visual effects

Suitable for

  • Developers building countdown features
  • Design-focused applications
  • Cross-platform timer implementations
  • Apps needing engaging UI elements
  • Projects with aesthetic emphasis

Considerations

  • May require performance tuning on low-end devices
  • Customization options can increase complexity
  • Limited to circular timer design
  • Not suitable for non-countdown time displays
  • Depends on external animation libraries for advanced effects

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

neon_circular_timer

Make a timer application with a fancy neon effect and beautiful UI

v0.0.3 and above now the timer has also a neumorphic border

Preview of example

example preview

Usage

Use neumorphicEffect to show or hide the neumorphic border

Use isTimerTextShown to show or hide the text

With neumorphicEffect is true and isTimerTextShown is false


  NeonCircularTimer(
                width: 200,
                    duration: 20,
                    controller : your_controller
                    isTimerTextShown: false,
                    neumorphicEffect: true,
                    innerFillGradient: LinearGradient(colors: [
                      Colors.greenAccent.shade200,
                      Colors.blueAccent.shade400
                    ]),
                    neonGradient: LinearGradient(colors: [
                      Colors.greenAccent.shade200,
                      Colors.blueAccent.shade400
                    ]),
                   ),

neum no text

with neumorphicEffect is false and isTimerTextShown is false
  NeonCircularTimer(
                width: 200,
                    duration: 20,
                    controller : your_controller
                    isTimerTextShown: false,
                    neumorphicEffect: false,
                    innerFillGradient: LinearGradient(colors: [
                      Colors.greenAccent.shade200,
                      Colors.blueAccent.shade400
                    ]),
                    neonGradient: LinearGradient(colors: [
                      Colors.greenAccent.shade200,
                      Colors.blueAccent.shade400
                    ]),
                   ),

no txt nor neum

Parameters

Name Type Default Value Description
key Key null Key for Countdown Timer.
neon double 4.0 The itensity of the neon
duration int required Countdown duration in Seconds.
initialDuration int 0 Countdown initial elapsed Duration in Seconds.
controller CountDownController required Controls (i.e Start, Pause, Resume, Restart) the Countdown Timer.
width double required Width of the rectangle that surrounds the circle ( Diameter of the Countdown Timer).
neonColor Color Colors.white54 neon Color for Countdown Widget.
neonGradient Gradient null neon Gradient for Countdown Widget. Note that neonColor will not be effective if gradient is provided.
neumorphicEffect bool true show neumorphic border
innerFillColor Color Colors.black12 Filling Color for Countdown Widget.
innerFillGradient Gradient null Filling Gradient for Countdown Widget. Note that fillColor will not be effective if gradient is provided.
outerStrokeColor Color Colors.white border Color for Countdown Widget.
backgroundColor Color Colors.white54 must be provided if you choose to use neumorphic effect .
outerStrokeGradient Gradient null border Gradient for Countdown Widget. Note that backgroundColor will not be effective if gradient is provided.
strokeWidth double 10.0 Border Thickness of the Countdown Ring.
strokeCap StrokeCap StrokeCap.round Begin and end contours with a flat edge and no extension.
textStyle TextStyle Theme.of(context).textTheme.headline3 Text Style for Countdown Text.
textFormat String TextFormat.MM_SS Format for the Countdown Text.
isReverse bool false Handles Countdown Timer (true for Reverse Countdown (max to 0), false for Forward Countdown (0 to max)).
isReverseAnimation bool false Handles Animation Direction (true for Reverse Animation, false for Forward Animation).
isTimerTextShown bool true Handles visibility of the Countdown Text.
autoStart bool true Handles the timer start.
onStart VoidCallback null This Callback will execute when the Countdown Starts.
onComplete VoidCallback null This Callback will execute when the Countdown Ends.

About the Controller

to get the time in seconds use :

controller.getCurrentTimeInSeconds();

to get the time formated into the selected TextFormat use:

controller.getTime();

to control the timer use :

controller.restart(); // to reset the timer
controller.start(); // to start the timer from 0
controller.pause(); // to pause the timer
controller.resume(); // to continue from the value where the timer stopped

Categories

Source repository

Projects using this package

No data available yet.