gauge_progress 1.0.1
gauge_progress: ^1.0.1 copied to clipboard
A customizable semi-circular gauge progress widget for Flutter with adjustable colors, stroke widths, and size.
Flutter Custom Gauge #
A highly customizable and lightweight Flutter gauge widget built using CustomPainter.
Supports multiple styles including circular, radial, segmented, dashed, speedometer, and multi-range gauges.
Perfect for dashboards, analytics apps, fitness tracking, finance apps, and performance indicators.
✨ Features #
- ✅ Full Circular Gauge
- ✅ Radial Gauge
- ✅ Segmented Gauge
- ✅ Dashed Gauge
- ✅ Speedometer Gauge (with needle)
- ✅ Multi-Range Gauge
- ✅ Gradient Support
- ✅ Custom Stroke Width
- ✅ Custom Colors
- ✅ Segment Control
- ✅ Lightweight & Performant
📦 Installation #
Add this to your pubspec.yaml:
dependencies:
your_package_name: ^1.0.0
Then run:
flutter pub get
🚀 Usage #
Basic Example #
CustomGauge(
percentage: 75,
type: GaugeType.fullCircular,
progressColor: Colors.blue,
backgroundColor: Colors.grey.shade300,
)
🎯 Available Gauge Types #
GaugeType.fullCircular
GaugeType.radial
GaugeType.segmented
GaugeType.dashed
GaugeType.speedometer
GaugeType.multiRange
🧩 Complete Example #
CustomGauge(
percentage: 65,
type: GaugeType.segmented,
progressColor: Colors.green,
backgroundColor: Colors.grey.shade300,
progressStrokeWidth: 12,
backgroundStrokeWidth: 10,
segments: 20,
)
🌈 Gradient Support #
CustomGauge(
percentage: 80,
type: GaugeType.fullCircular,
gradient: LinearGradient(
colors: [Colors.blue, Colors.purple],
),
)
If gradient is provided, it overrides progressColor.
🧭 Speedometer Example #
CustomGauge(
percentage: 45,
type: GaugeType.speedometer,
progressColor: Colors.red,
)
🎨 Multi-Range Example #
CustomGauge(
percentage: 70,
type: GaugeType.multiRange,
multiRangeColors: [
Colors.green,
Colors.orange,
Colors.red,
],
)
⚙️ Properties #
| Property | Type | Description |
|---|---|---|
| percentage | double | Value between 0–100 |
| type | GaugeType | Gauge style |
| progressColor | Color | Active progress color |
| backgroundColor | Color | Background arc color |
| gradient | Gradient? | Gradient for progress |
| progressStrokeWidth | double | Stroke width of progress |
| backgroundStrokeWidth | double | Stroke width of background |
| segments | int | Number of segments (segmented type) |
| multiRangeColors | List | Colors for multi-range |
📊 Percentage Handling #
- Automatically clamps between 0 and 100
- Smooth repaint updates
- Optimized
shouldRepaintimplementation
🏗 Built With #
CustomPainter- Optimized canvas drawing
- Minimal dependencies
- Clean structure
💡 Use Cases #
- Fitness progress indicators
- Revenue dashboards
- App performance meters
- Speed indicators
- Health tracking apps
- Battery indicators
🤝 Contributing #
Contributions are welcome!
If you find a bug or want to request a feature:
- Open an issue
- Create a pull request
- Improve documentation
📄 License #
MIT License
⭐ If you like this package, consider giving it a star!
