Library to create colorful loading indicator

The current state is under active development but considered stable. This ReadMe and all examples will be improved once V2 is done.

I recommend to take a look at the example project

Features

  • GradientColors (Razer Chroma and some Pride gradients)

V1 (0.1.1)

  • FixedGradientProgressIndicator (also as Circular and Linear)
  • MovingGradientProgressIndicator (also as Circular and Linear)

V2 (current)

  • FixedGradientProgressIndicator (also as Circular)
  • MovingGradientProgressIndicator (also as Circular and Linear)

With package version 0.2.0, all progress indicator will gradually be based on CustomPainter instead of relying on BoxDecorations. All old progress indicator are available under the new import colorful_progress_spinner_v1.dart and are renamed to <OldName>V1.

With 0.2.0:

  • the api surface has been reduced
  • visual artifacts have been removed (see live example above)
  • progress indicator no longer create a fake background, allowing for real transparency of the child

Getting started

dart pub add colorful_progress_spinner

Usage

(see /example folder or checkout the linked website above for different examples)

Example of a moving indicator

var radius = BorderRadius.only(
  topLeft: Radius.circular(20),
  bottomRight: Radius.circular(20),
);
var width = 10;

MovingGradientProgressIndicator(
    duration: const Duration(seconds: 5),
    colors: [
        ...GradientColors.razerChroma,
        GradientColors.razerChroma.first,
    ],
    borderRadius: radius,
    width: width,
    child: Card(
        shape: RoundedRectangleBorder(
          borderRadius: radius,
        ),
        margin: EdgeInsets.all(width / 2),
        child: Padding(
            padding: EdgeInsets.all(12),
            child: Column(
                mainAxisSize: MainAxisSize.min,
                children: [
                  Text("This is the child of the loading\nindicator that gets surrounded by it."),
                ],
            ),
        ),
    ),
);

See the live example at the example project

Example of allMovingGradientProgressIndicator.

moving-progress-indicator.gif

Example of CircularFixedGradientProgressIndicator.

fixed-circular-progress-indicator.gif

Additional information

My personal main goal was to recreate the Chroma spinner animation of Razer.

While this package achieves this goal, it is kept as a general purpose progress indicator package and does not come with an explicit RazerChromaIndicator widget kind of stuff.