gauge_indicator
An animated, highly customizable, open source, Flutter gauge widget.
0.6.0
17K downloads/mo
#2322 most downloaded on pub.dev
gonuit/gauge_indicator
What this package is like to depend on
Last release 2 months ago
27 May 2026
Ships unpredictably
gaps range from 9 days to 2.8 years
Most releases are documented
notes for 8 of 13 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
31 releases · first in 2022
10 releases in the last 12 months
see the full history below
Release timeline
31 releases · May 2022 to May 2026Releases
latest 31-
0.6.027 May 2026Release notes
Open source →Removed
- Deprecated aliases from
0.5.0:GaugeSegment,GaugeAxis.segments/zero/degrees, andGaugeAxisStyle.segmentSpacing. UseGaugeZone,zones,origin,sweepDegrees, andzoneSpacing. equatabledependency. Configuration classes now implement==andhashCodedirectly, dropping a transitive dependency and removing per-frame list allocations during gauge animation.collectiondependency. The single internal use offirstWhereOrNullwas inlined.
Changed
- Minimum Flutter version is now
3.35.0(Dart3.9.0) to stay on currently supported framework APIs.
- Deprecated aliases from
-
0.5.014 May 2026Release notes
Open source →Added
GaugeZone.shadow(BoxShadow) for per-zone drop shadows or colored glows.offsetandblurRadiusare honored;spreadRadiusis not (#10).GaugeZone.thicknessfor a per-zone band width that overridesGaugeAxisStyle.thickness(#10).GaugeZone.label(GaugeZoneLabel) for rendering a text and/or icon label inside the band, laid out along the arc and clipped to the zone (#12).GaugeAxisStyle.zoneSpacingMode(uniformorlocal) for choosing whether a narrow zone tightens every gap uniformly or only the gaps next to it.repaintparameter onRadialGauge/AnimatedRadialGaugefor paint-only updates driven by an external listenable (e.g. shaders).onAnimationFramecallback onAnimatedRadialGaugefor reading the interpolated value each frame.
Changed
GaugeAxis.originnow defaults tomininstead of0.0, so progress bars on axes that don't include zero render correctly out of the box. An assertion catches origins outside[min, max].- Renamed
GaugeAxis.degreestosweepDegreesandGaugeAxis.zerotooriginfor clearer intent. Old names remain as deprecated aliases and will be removed in0.6.0. - Renamed
GaugeSegmenttoGaugeZone,GaugeAxis.segmentstozones, andGaugeAxisStyle.segmentSpacingtozoneSpacingso the API uses gauge-native vocabulary. Old names remain as deprecated aliases and will be removed in0.6.0. - Zones now reach the axis ends instead of leaving a half-spacing gap at the boundaries; their outer caps inherit
GaugeAxisStyle.cornerRadiusso they trace the axis background (#6). GaugeAxisTransformer.progressnow inherits the underlying zones'cornerRadius(and other properties) when recoloring, so the masked portion keeps the same shape as the zones it covers.- On 360° axes, the rounded cap radius now tapers as progress approaches a full revolution, so the end and start caps no longer collide at the seam.
GaugeProgressBarwithinsideplacement now renders without explicit zones and respects the axis corner radius.- Spacing is now applied symmetrically to every zone, so relative zone widths are preserved across different axis spans and spacings.
- Narrowed the public API to widgets and their configuration classes; internal utilities are no longer exported.
- Documented all public classes, fields, and constructors.
- Reorganized the README around the examples gallery and trimmed Usage to a minimal install + setup snippet.
- Reworked the example application with a redesigned configuration panel: collapsible sections, interactive zone range editor with add/remove, and animation curve & duration controls.
Fixed
- Fixed
RadialGaugezones painting at the parent canvas origin instead of the gauge's position when used without aRepaintBoundary(e.g. directly inside aPadding,Row, or any layout with a non-zero offset) (#17). - Fixed pointer shadow ignoring
Shadow.offset; the shadow is now drawn at the configured offset relative to the pointer (#14). - Fixed rounded progress bar artifact at zero and near-zero values (#13).
- Fixed
GaugeAxisStyle.cornerRadiuschanges not triggering a repaint, so the surface now updates when the radius is changed. - Fixed zone corner radius producing distorted shapes when a zone is too small to fit the requested radius.
- Fixed inverted zone rendering when the axis is too narrow to fit the requested spacing; spacing now shrinks proportionally to fit.
- Reserved a 1px minimum rendered width per zone so middle zones no longer vanish before edges when the axis is small.
- Fixed flickering during animations with overshooting curves (e.g. elastic).
- Fixed
AnimatedRadialGauge.childbeing silently ignored when nobuilderwas provided (#21).
Release notes
Open source →Added
GaugeZone.shadow(BoxShadow) for per-zone drop shadows or colored glows.offsetandblurRadiusare honored;spreadRadiusis not (#10).GaugeZone.thicknessfor a per-zone band width that overridesGaugeAxisStyle.thickness(#10).GaugeZone.label(GaugeZoneLabel) for rendering a text and/or icon label inside the band, laid out along the arc and clipped to the zone (#12).GaugeAxisStyle.zoneSpacingMode(uniformorlocal) for choosing whether a narrow zone tightens every gap uniformly or only the gaps next to it.repaintparameter onRadialGauge/AnimatedRadialGaugefor paint-only updates driven by an external listenable (e.g. shaders).onAnimationFramecallback onAnimatedRadialGaugefor reading the interpolated value each frame.
Changed
GaugeAxis.originnow defaults tomininstead of0.0, so progress bars on axes that don't include zero render correctly out of the box. An assertion catches origins outside[min, max].- Renamed
GaugeAxis.degreestosweepDegreesandGaugeAxis.zerotooriginfor clearer intent. Old names remain as deprecated aliases and will be removed in0.6.0. - Renamed
GaugeSegmenttoGaugeZone,GaugeAxis.segmentstozones, andGaugeAxisStyle.segmentSpacingtozoneSpacingso the API uses gauge-native vocabulary. Old names remain as deprecated aliases and will be removed in0.6.0. - Zones now reach the axis ends instead of leaving a half-spacing gap at the boundaries; their outer caps inherit
GaugeAxisStyle.cornerRadiusso they trace the axis background (#6). GaugeAxisTransformer.progressnow inherits the underlying zones'cornerRadius(and other properties) when recoloring, so the masked portion keeps the same shape as the zones it covers.- On 360° axes, the rounded cap radius now tapers as progress approaches a full revolution, so the end and start caps no longer collide at the seam.
GaugeProgressBarwithinsideplacement now renders without explicit zones and respects the axis corner radius.- Spacing is now applied symmetrically to every zone, so relative zone widths are preserved across different axis spans and spacings.
- Narrowed the public API to widgets and their configuration classes; internal utilities are no longer exported.
- Documented all public classes, fields, and constructors.
- Reorganized the README around the examples gallery and trimmed Usage to a minimal install + setup snippet.
- Reworked the example application with a redesigned configuration panel: collapsible sections, interactive zone range editor with add/remove, and animation curve & duration controls.
Fixed
- Fixed
RadialGaugezones painting at the parent canvas origin instead of the gauge's position when used without aRepaintBoundary(e.g. directly inside aPadding,Row, or any layout with a non-zero offset) (#17). - Fixed pointer shadow ignoring
Shadow.offset; the shadow is now drawn at the configured offset relative to the pointer (#14). - Fixed rounded progress bar artifact at zero and near-zero values (#13).
- Fixed
GaugeAxisStyle.cornerRadiuschanges not triggering a repaint, so the surface now updates when the radius is changed. - Fixed zone corner radius producing distorted shapes when a zone is too small to fit the requested radius.
- Fixed inverted zone rendering when the axis is too narrow to fit the requested spacing; spacing now shrinks proportionally to fit.
- Reserved a 1px minimum rendered width per zone so middle zones no longer vanish before edges when the axis is small.
- Fixed flickering during animations with overshooting curves (e.g. elastic).
- Fixed
AnimatedRadialGauge.childbeing silently ignored when nobuilderwas provided (#21).
-
0.5.0-beta.814 May 2026 pre-releaseNothing published for this version
-
0.5.0-beta.714 May 2026 pre-releaseNothing published for this version
-
0.5.0-beta.614 May 2026 pre-releaseNothing published for this version
-
0.5.0-beta.514 May 2026 pre-releaseNothing published for this version
-
0.5.0-beta.414 May 2026 pre-releaseNothing published for this version
-
0.5.0-beta.314 May 2026 pre-releaseNothing published for this version
-
0.5.0-beta.214 May 2026 pre-releaseNothing published for this version
-
0.5.0-beta.114 May 2026 pre-releaseNothing published for this version
-
0.4.325 Jul 2023Release notes
Open source →- Support negative values #7 by dino-keskic
- Added gauge segments border.
- Corrected the readme example. Added radius parameter that is required for parent widgets that do not have a constrained size.
- Fixed segment color changes in the example application
-
0.4.3-dev.107 Jul 2023 pre-releaseNothing published for this version
-
0.4.227 Jun 2023Release notes
Open source →Changes:
- Updated package thumbnail image
- Removed readme resources from pub.dev to reduce the total size of the downloaded package.
Full Changelog: v0.4.1...v0.4.2
-
0.4.127 Jun 2023Release notes
Open source →Changes:
- Fixed the gauge indicator not responding to the progress bar change.
Full Changelog: v0.4.0...v0.4.1
-
0.4.027 Jun 2023Release notes
Open source →Changes
- Update Dart version constraints to support Dart 3 by @vbuberen in #5
- add support for shadow and gradient on pointers by @dino-keskic in #4
- Added factory constructors GaugeProgressBar and GaugePointer classes.
- Fixed the
radiusproperty of RadialGauge and AnimatedRadialGauge widgets. - Added implicit
radiusanimation for the AnimatedRadialGauge widget. - Added
cornerRadiusargument for GaugeAxisStyle and GaugeSegment classes. - Fixed invalid segment spacing.
- Fixed the basic progress bar for the 360-degree axis.
- Fixed errors that occur when using the AnimatedRadialGauge widget without the radius property provided.
- Added default style for RadialGauge and AnimatedRadialGauge widgets to make it easier to get started with the widget.
- Moved progressBar property from the widget to the GaugeAxis class.
- Made GaugeProgressBar constructors constant.
- Minor bug fixes.
New Contributors
- @vbuberen made their first contribution in #5
- @dino-keskic made their first contribution in #4
Full Changelog: v0.3.3...v0.4.0
Release notes
Open source →- Added factory constructors GaugeProgressBar and GaugePointer classes.
- Fixed the
radiusproperty of RadialGauge and AnimatedRadialGauge widgets. - Added implicit
radiusanimation for the AnimatedRadialGauge widget. - Added
cornerRadiusargument for GaugeAxisStyle and GaugeSegment classes. - Fixed invalid segment spacing.
- Fixed the basic progress bar for the 360-degree axis.
- Fixed errors that occur when using the AnimatedRadialGauge widget without the radius property provided.
- Added default style for RadialGauge and AnimatedRadialGauge widgets to make it easier to get started with the widget.
- Moved progressBar property from the widget to the GaugeAxis class.
- Made GaugeProgressBar constructors constant.
- Minor bug fixes.
-
0.4.0-dev.727 Jun 2023 pre-releaseNothing published for this version
-
0.4.0-dev.627 Jun 2023 pre-releaseNothing published for this version
-
0.4.0-dev.522 Mar 2023 pre-releaseNothing published for this version
-
0.4.0-dev.421 Mar 2023 pre-releaseNothing published for this version
-
0.4.0-dev.317 Mar 2023 pre-releaseNothing published for this version
-
0.4.0-dev.216 Mar 2023 pre-releaseNothing published for this version
-
0.4.0-dev.116 Mar 2023 pre-releaseNothing published for this version
-
0.3.311 Jan 2023Release notes
Open source →Full Changelog: https://github.com/gonuit/gauge_indicator/commits/v0.3.3
-
0.3.211 Jan 2023Nothing published for this version
-
0.3.111 Jan 2023Nothing published for this version
-
0.3.011 Jan 2023 -
0.2.109 Jun 2022Nothing published for this version
-
0.2.007 Jun 2022Nothing published for this version
-
0.2.0-dev.203 Jun 2022 pre-releaseNothing published for this version
-
0.2.0-dev.131 May 2022 pre-releaseNothing published for this version
-
0.1.009 May 2022Nothing published for this version