Simple progress indicators package with solid colors and gradients. Can be used to show progress or for simple progress bar animation.
ProgressBar
is a basic linear indicator widget. It's a Stateless Widget that produces basic horizontal rounded rectangle with optional background rounded rectangle underneath.
Include it in your build
method like:
@override
Widget build(BuildContext context) {
return const MaterialApp(
home: Scaffold(
body: Center(
child: ProgressBar(
value: 0.5,
//specify only one: color or gradient
//color:Colors.red,
gradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [Colors.yellowAccent, Colors.deepOrange],
),
),
),
),
);
}
It has several configurable parameters:
value
- current indicator value, where0.0
is 0% progress,1.0
is 100% progresswidth
- indicator width, defaults to200.0
height
- indicator height, defaults to10.0
color
- solid indicator fill colorgradient
- gradient fill, accepts Gradient classbackgroundColor
- solid indicator background color, defaults to transparent
Minimum working widget requires only a value
and color
OR gradient
property. NOTE: Specifying both properties is not accepted.
ProgressBarAnimation
is a simple animating progress bar widget.
It animates ProgressBar
widget for a given duration
.
Animation starts at the time the widget is built.
It has several configurable parameters:
duration
- 0% to 100% animation durationwidth
- indicator width, defaults to200.0
height
- indicator height, defaults to10.0
color
- solid indicator fill colorgradient
- gradient fill, accepts Gradient classbackgroundColor
- solid indicator background color, defaults to transparentcurve
- animation curve, defaults to linear. For other curves check Curves
ProgressBarAnimation(
duration: const Duration(seconds: 2),
gradient: const LinearGradient(
colors: [
Colors.blue,
Colors.purple,
],
),
backgroundColor: Colors.grey.withOpacity(0.4),
),
AnimatedProgressBar
is a ImplicitlyAnimatedWidget
. It behaves like other flutter AnimatedFoo widgets. This animates value
parameter changes for a given duration
. Animation starts only when one (initial) value changes to other (final) value. See the example below.
It has several configurable parameters:
value
- value widget animates to, need to be changedduration
- initial value to final value animation durationwidth
- indicator width, defaults to200.0
height
- indicator height, defaults to10.0
color
- solid indicator fill colorgradient
- gradient fill, accepts Gradient classbackgroundColor
- solid indicator background color, defaults to transparentcurve
- animation curve, defaults to linear. For other curves check CurvesonEnd
- callback to trigger additional actions (e.g. another animation) at the end of the current animation
AnimatedProgressBar(
value: full ? 1.0 : 0.0,
duration: const Duration(seconds: 3),
gradient: const LinearGradient(
colors: [
Colors.amber,
Colors.red,
],
),
backgroundColor: Colors.grey.withOpacity(0.4),
),
For full demo check examples
folder.
For issues and animation ideas visit issues section on github homepage.