Smooth Circular Page Indicator
A lightweight and customizable smooth circular page indicator widget for Flutter.
Perfect for onboarding flows, quizzes, forms, or any step-based user interface.

✨ Features
- Smooth, animated circular progress indicator
- Fully customizable colors, sizes, and stroke width
- Center icon/button with tap support
- Accessible with semantic labels
- Easy to integrate and reuse
🚀 Getting Started
Add this to your pubspec.yaml:
dependencies:
smooth_circular_page_indicator: ^0.0.2
🎯 Usage Example
SmoothCircularPageIndicator(
currentStep: 2, // Zero-based index
totalSteps: 5,
progressColor: Colors.blue,
backgroundColor: Colors.grey.shade300,
icon: Icons.arrow_forward_ios_rounded,
iconColor: Colors.white,
size: 80.0,
strokeWidth: 5.0,
animationDuration: Duration(milliseconds: 500),
onTap: () {
// Do something when tapped
},
semanticLabel: 'Next step',
),
🧩 Parameters
| Property | Type | Description | Default |
|---|---|---|---|
currentStep |
int |
Current step (zero-based). | — |
totalSteps |
int |
Total number of steps (must be > 0). | — |
progressColor |
Color |
Color of the progress arc. | Colors.blue |
backgroundColor |
Color |
Color of the background arc. | Colors.grey |
icon |
IconData |
Icon displayed in the center. | Icons.arrow_forward_ios_rounded |
iconColor |
Color |
Color of the center icon. | Colors.white |
size |
double |
Diameter of the widget. | 80.0 |
strokeWidth |
double |
Width of the circular stroke. | 5.0 |
animationDuration |
Duration |
Duration of the progress animation. | 500 milliseconds |
onTap |
VoidCallback? |
Callback triggered when tapped. | null |
semanticLabel |
String? |
Optional semantic label for screen readers. | null |
📌 Example Use Cases
-
Onboarding screens
-
Multi-step forms
-
Quizzes & surveys
-
Tutorials & walkthroughs
-
Any step-based progress UI
🛠️ Contributing
Contributions, suggestions, and bug reports are welcome! If you’d like to improve this package, please open an issue or pull request on GitHub.
📄 License
This project is licensed under the MIT License.
Libraries
- smooth_circular_page_indicator
- A Flutter widget for a customizable smooth circular page indicator. Provides a reusable progress indicator for onboarding, quizzes, or any step-based UI.