interpolated_countdown 1.0.2 copy "interpolated_countdown: ^1.0.2" to clipboard
interpolated_countdown: ^1.0.2 copied to clipboard

Flutter package for a countdown widget with interpolated colors.

Interpolated Countdown

Easy to use class to build interpolated countdown widget

Pub version

Installation #

Add the following to your pubspec.yaml file:

dependencies:
  interpolated_countdown: ^1.0.0

Basic Usage #

import 'package:flutter/material.dart';
import 'package:interpolated_countdown/interpolated_countdown.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    // Create a CountDownUseCase instance with your configuration
  CountDownUseCase useCase = CountDownUseCase(
  timerTextSize: 55,
  diameter: 204,
  totalDuration: const Duration(seconds: 30),
  stopAnimationOnTimeElapsed: false,
  plateShape: BoxShape.circle,
  outerPlateColorRange: DefaultInterpolationColors.outerPlateColorRange,
  innerPlateColorRange: DefaultInterpolationColors.innerPlateColorRange,
);

    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Countdown Widget Example'),
        ),
        body: Center(
          child: CountdownWidget(
            countdownUseCase: useCase,
          ),
        ),
      ),
    );
  }
}

CountDownUseCase #

The CountDownUseCase class is used to manage the countdown logic and plate colors in the interpolated countdown widget. Below are the parameters that can be configured when creating an instance of this class.

Parameters

  • timerTextSize (Type: double, Default: 55): Font size of the timer text.

  • diameter (Type: double, Default: 204): Diameter of the countdown widget.

  • totalDuration (Type: Duration, Default: Duration(seconds: 30)): Total duration of the countdown.

  • stopAnimationOnTimeElapsed (Type: bool, Default: false): Whether to stop the animation when time reaches zero.

  • plateShape (Type: BoxShape, Default: BoxShape.circle): Shape of the countdown widget plates.

  • callBackOnEverySecondConsumed (Type: Function(int secondsConsumed)?, Default: null): A callback function that will be called every second during the countdown. It receives the total seconds consumed as a parameter.

  • outerPlateColorRange (Type: ColorRangeModel, Required): Color range for the outer plate.

  • innerPlateColorRange (Type: ColorRangeModel, Required): Color range for the inner plate.

Example #

CountDownUseCase useCase = CountDownUseCase(
  timerTextSize: 55,
  diameter: 204,
  totalDuration: Duration(seconds: 30),
  stopAnimationOnTimeElapsed: false,
  plateShape: BoxShape.circle,
  callBackOnEverySecondConsumed: (int secondsConsumed) {
    print('Seconds Consumed: $secondsConsumed');
  },
  outerPlateColorRange: ColorRangeModel(
    firstColor: Colors.green,
    midColor: Colors.yellow,
    lastColor: Colors.red,
  ),
  innerPlateColorRange: ColorRangeModel(
    firstColor: Colors.blue,
    midColor: Colors.purple,
    lastColor: Colors.orange,
  ),
);

For more details on the CountDownUseCase class and its methods, refer to the source code.

GitHub Repo #

Visit https://github.com/aprashantz/interpolated_countdown to explore more and further customize/contribute as you wish. :) Danke schön!

4
likes
130
points
19
downloads

Publisher

unverified uploader

Weekly Downloads

Flutter package for a countdown widget with interpolated colors.

Repository (GitHub)
View/report issues

Documentation

API reference

License

unknown (license)

Dependencies

flutter

More

Packages that depend on interpolated_countdown