π A lightweight and customizable circular progress bar for Flutter.
Supports flexible sizing, custom center widgets (Text, Icon, Image), and full theming control.
- β Simple and clean API
- π― Custom center widget (Icon, Text, Image, etc.)
- π¨ Custom colors & stroke width
- π± Lightweight & easy to use
- π Backward compatibility with legacy API
Add this to your pubspec.yaml:
dependencies:
custom_progressbar: 2.0.0Import the package:
import 'package:custom_progressbar/custom_progressbar.dart';Check the /example folder for a complete working app.
Center(
child: ProgressBar(),
)ProgressBar(
size: 50,
progressColor: Colors.amber,
progressBackgroundColor: Colors.green,
)ProgressBar(
size: 50,
progressColor: Colors.amber,
progressBackgroundColor: Colors.green,
center: Icon(Icons.g_mobiledata_rounded),
)ProgressBar(
size: 80,
progressColor: Colors.amber,
progressBackgroundColor: Colors.green,
center: Text(
'Progress',
style: TextStyle(fontSize: 12),
),
)ProgressBar(
size: 80,
progressColor: Colors.amber,
progressBackgroundColor: Colors.green,
progressStrokeWidth: 6,
progress: 0.8,
center: Text(
'Progress',
style: TextStyle(fontSize: 12),
),
)ProgressBar(
size: 90,
progressColor: Colors.amber,
progressBackgroundColor: Colors.green,
progressStrokeWidth: 2,
center: Image.asset('assets/img.png'),
)| Parameter | Description |
|---|---|
size |
Size of the progress bar (width & height) |
progress |
Value from 0.0 to 1.0 |
center |
Widget displayed in center (Text, Icon, Image, etc.) |
progressColor |
Color of progress indicator |
progressBackgroundColor |
Background track color |
progressStrokeWidth |
Thickness of progress |
ProgressBar(
containerHeight: 40,
containerWidth: 40,
progressColor: Colors.red,
boxFit: BoxFit.contain,
iconHeight: 30,
iconWidth: 30,
imageFile: 'assets/icon.png',
progressStrokeWidth: 3.0,
progressHeight: 50,
progressWidth: 50,
),ProgressBar(
size: 40,
progress: 0.7,
progressStrokeWidth: 3.0,
center: Image.asset('assets/icon.png'),
)The old API is still supported for backward compatibility, but not recommended for new projects.
| Old API | New API |
|---|---|
containerHeight, containerWidth |
size |
imageFile |
center: Image.asset() |
iconHeight, iconWidth |
handled inside center |
boxFit |
handled inside center |
progressHeight, progressWidth |
auto-managed |
progressvalue should be between0.0and1.0- Values outside this range will be clamped internally
- Use
centerfor flexible content instead ofimageFile
- π¨ Gradient support
- β‘ CustomPainter-based rendering
- π¬ Smooth animations
- π Multi-segment progress
- π Clockwise / Anti-clockwise progress
If you like this package, consider giving it a β on GitHub!
MIT License Β© 2026 Rahul Kushwaha





