linear_progress_bar 3.0.0
linear_progress_bar: ^3.0.0 copied to clipboard
A powerful and customizable progress indicator library for Flutter. Supports linear bars, circular percent indicators, gauges, dots indicators, titled progress, gradients, and animations.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
3.0.0 - 2025-12-26 #
Added #
-
CircularPercentIndicator - Beautiful circular progress indicator with:
- Customizable radius and line width
- Gradient support
- Multiple start angles (top, right, bottom, left)
- Reversible direction
- Smooth animations with customizable duration and curve
- Center, header, and footer widget slots
- Filled background option
- Round, square, or butt stroke caps
-
GaugeIndicator - Modern speedometer-style gauge with:
- Multiple styles (simple, ticked, segmented, modern)
- Needle pointer with customizable color
- Color ranges for different value segments
- Custom value formatter
- Min/max labels
- Title and subtitle widgets
- Configurable start and sweep angles
- Tick marks with customizable count and length
- Gradient support
- Smooth animations
-
LinearPercentIndicator - Linear progress indicator with:
- Leading, trailing, and center widget slots
- Child positioning (left, right, center)
- Multi-segment support
- Gradient progress
- RTL (right-to-left) support
- Smooth animations with customizable duration and curve
- Percentage display option
- Customizable line height and width
-
MultiSegmentLinearIndicator - Multi-segment linear progress indicator with:
- Multiple progress segments in a single bar
- Individual colors and labels for each segment
- Smooth animations
- Label positioning options
-
LinearGauge - Linear gauge with:
- Horizontal and vertical orientations
- Ruler styles (none, simple, labeled, graduated, bothSides)
- Pointer types (triangle, diamond, arrow, circle, rectangle, invertedTriangle)
- Value bar with gradient support
- Range coloring for different value segments
- Animation and interactivity (drag to change value)
- Customizable tick marks and labels
- Min/max value labels
-
RadialGauge - Radial gauge with:
- Customizable start position (top, right, bottom, left, custom angle)
- Needle pointer styles (simple, tapered, triangle, diamond, flat, compass)
- Shape pointer types (circle, triangle, diamond, rectangle, arrow, invertedTriangle)
- Value bar with gradient support
- Range coloring for different value segments
- Tick marks with labels
- Animation and interactivity (drag to change value)
- Customizable sweep angle and track width
-
GaugeDecorator - Preset configurations for gauges:
GaugeDecorator.speedometer()- Speedometer style with rangesGaugeDecorator.minimal()- Clean minimal half-gaugeGaugeDecorator.gradient()- Modern gradient gaugeGaugeDecorator.health()- Health/fitness styleGaugeDecorator.temperature()- Temperature gauge style
-
CircularDecorator - Preset configurations for circular indicators:
CircularDecorator.gradient()- Gradient styleCircularDecorator.minimal()- Minimal flat styleCircularDecorator.thick()- Thick line styleCircularDecorator.thin()- Thin line style
-
New Enums:
GaugeStyle- simple, ticked, segmented, modernGaugeLabelPosition- center, bottom, noneCircularStrokeCap- round, square, buttCircularStartAngle- top, right, bottom, leftCircularChildPosition- center, top, bottomArcType- half, fullLinearGaugeOrientation- horizontal, verticalRulerStyle- none, simple, labeled, graduated, bothSidesRulerPosition- start, end, bothPointerStyle- none, triangle, diamond, arrow, circle, rectangle, invertedTrianglePointerPosition- start, center, endRadialGaugePosition- top, right, bottom, left, customNeedleStyle- none, simple, tapered, triangle, diamond, flat, compassShapePointerStyle- none, circle, triangle, diamond, rectangle, arrow, invertedTriangleShapePointerPosition- inner, center, outerLinearChildPosition- left, right, center
-
Helper Classes:
GaugeRange- Define color ranges for gaugeGaugeSegment- Define segments for segmented gaugeLinearGaugeRange- Define color ranges for linear gaugeRadialGaugeRange- Define color ranges for radial gaugeLinearSegment- Define segments for multi-segment linear indicatorPointerConfig- Configuration for linear gauge pointerNeedleConfig- Configuration for radial gauge needleShapePointerConfig- Configuration for radial gauge shape pointer
-
Comprehensive test coverage for all new widgets
-
Updated example app with new Circular and Gauge tabs
-
Updated README with complete documentation
Changed #
- Updated package description to reflect new features
- Cleaned up debug logging code from progress_bar.dart and titled_progress_bar.dart
- Improved code organization with separate files for new widgets
2.0.0+2 - 2025-12-26 #
Fixed #
- Fixed all analyzer warnings and linting issues
- Added documentation comments to example app classes
- Fixed raw string usage in JSON encoding functions
- Suppressed false positive constructor ordering warnings
2.0.0+1 - 2025-12-26 #
Fixed #
- Fixed linting issues: removed unnecessary library declaration
- Fixed
prefer_const_declarations: changed static final to static const for deprecated fields - Fixed
omit_local_variable_typesin progress_bar.dart - Fixed
avoid_redundant_argument_valuesin multiple files - Fixed
prefer_const_constructorsin test files - Removed deprecated
package_api_docsrule from analysis_options.yaml (removed in Dart 3.7.0)
Changed #
- Improved code quality by addressing all analyzer warnings and info messages
- Removed unused test function
2.0.0 - 2025-12-21 #
Added #
- Smooth Animations - New
animateProgressproperty for animated progress transitions - Animation Customization -
animationDurationandanimationCurveproperties - Gradient Support - New
progressGradientproperty for beautiful gradient progress bars - Label Types -
LabelTypeenum withtext,percentage,stepCount, andcustomoptions - Label Positioning -
LabelPositionenum withcenter,start,end,top, andbottomoptions - Interactive Dots -
onDotTapcallback for handling dot tap events - Dots Customization -
dotsActiveShape,dotsShape, anddotsReversedproperties - Progress Helpers -
progressValue,progressPercentage, andisCompletegetters - DotsDecorator Enhancements -
copyWith, equality operators, andeffectiveColorgetters - Comprehensive Unit Tests - Full test coverage for all components
- API Documentation - Detailed dartdoc comments for all public APIs
Changed #
- ProgressType Enum - Replaced integer constants with proper
ProgressTypeenum - TitledProgressBar - Now uses const constructor with computed label size
- Improved Null Safety - Better assertions and null handling throughout
- Code Quality - Removed redundant code and improved overall structure
Deprecated #
LinearProgressBar.progressTypeLinear- UseProgressType.linearinsteadLinearProgressBar.progressTypeDots- UseProgressType.dotsinstead
Fixed #
- Fixed DotsIndicator position assertion bug when currentStep equals maxSteps
- Fixed TitledProgressBar non-const constructor issue
- Fixed potential null safety issues in LinearProgressBar
- Fixed redundant code in typeChooser method