smooth_loader 3.0.0
smooth_loader: ^3.0.0 copied to clipboard
A modern, lightweight, and highly customizable collection of smooth Flutter loading animations.
A modern, lightweight, and highly customizable collection of beautiful loading animations for Flutter.
✨ Overview #
smooth_loader is a dependency-free Flutter package that provides beautiful, smooth, and customizable loading animations for every type of application.
Instead of using the default CircularProgressIndicator, developers can choose from multiple modern loading animations with a consistent API and extensive customization.
Built with performance in mind.
- 🚀 Zero runtime dependencies
- 🎨 Beautiful animations
- ⚡ High performance
- 📱 Responsive
- 🌙 Dark Mode Ready
- 🧩 Easy integration
- 💙 Flutter Native
🎬 Preview #
Example:
Pulse Loader
Dots Loader
Wave Loader
Orbit Loader
Spinner Loader
✨ Features #
- 10 beautiful built-in loading animations
- Unified
SmoothLoaderwidget - Dedicated widgets for every loader
- Highly customizable
- Theme support
- Null Safety
- Responsive
- Lightweight
- Zero external dependencies
- Works on Android, iOS, Web, Windows, macOS and Linux
📦 Installation #
Add the package.
dependencies:
smooth_loader: ^1.0.0
Install packages.
flutter pub get
Import.
import 'package:smooth_loader/smooth_loader.dart';
🚀 Quick Start #
Using the unified widget.
const SmoothLoader(
type: LoaderType.wave,
)
Using a dedicated widget.
const PulseLoader()
🎨 Supported Loaders #
Version 1.0.0 includes:
- Pulse Loader
- Dots Loader
- Wave Loader
- Orbit Loader
- Spinner Loader
- Ripple Loader
- Ring Loader
- Cube Loader
- Bar Loader
- Bounce Loader
💡 Examples #
Pulse Loader #
const PulseLoader()
Dots Loader #
const DotsLoader()
Wave Loader #
const WaveLoader()
Spinner Loader #
const SpinnerLoader()
Unified API #
const SmoothLoader(
type: LoaderType.spinner,
)
⚙️ Customization #
Every loader supports customization.
SmoothLoader(
type: LoaderType.ring,
color: Colors.teal,
size: 56,
duration: Duration(milliseconds: 1200),
strokeWidth: 4,
)
Available properties include:
- color
- size
- duration
- curve
- strokeWidth
- padding
- alignment
- animationDirection
- repeat
- enabled
🎭 Theme Support #
Configure global defaults once.
LoaderTheme(
data: const LoaderThemeData(
color: Colors.indigo,
size: 36,
duration: Duration(milliseconds: 800),
),
child: const MyApp(),
)
Individual widget properties always override theme values.
📱 Integration Examples #
Scaffold #
Scaffold(
body: const Center(
child: SpinnerLoader(),
),
)
FutureBuilder #
FutureBuilder(
future: fetchData(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return const Center(
child: SmoothLoader(
type: LoaderType.dots,
),
);
}
return const Text("Loaded");
},
)
Button Loading #
ElevatedButton(
onPressed: isLoading ? null : login,
child: isLoading
? const PulseLoader(size: 20)
: const Text("Login"),
)
Dialog #
showDialog(
context: context,
builder: (_) => const Dialog(
child: Padding(
padding: EdgeInsets.all(24),
child: SpinnerLoader(),
),
),
);
Full Screen Loading #
Scaffold(
body: const Center(
child: SmoothLoader(
type: LoaderType.orbit,
size: 60,
),
),
)
⚡ Performance #
Designed for production applications.
- RepaintBoundary optimization
- Smooth animations
- Efficient AnimationControllers
- Minimal widget rebuilds
- Zero runtime dependencies
- Optimized for 60 FPS and high refresh-rate displays
♿ Accessibility #
- Semantic friendly
- Screen reader compatible
- Respects Flutter accessibility features
- Theme aware
- RTL compatible
📚 API Reference #
Main Widgets
SmoothLoader()
Dedicated Loaders
PulseLoader()
DotsLoader()
WaveLoader()
OrbitLoader()
SpinnerLoader()
RippleLoader()
RingLoader()
CubeLoader()
BarLoader()
BounceLoader()
Supporting Classes
LoaderTheme
LoaderThemeData
LoaderType
🖼 Gallery #
🛣 Roadmap #
Version 1.1 #
- Skeleton Loader
- Shimmer Loader
- Equalizer Loader
- Typing Loader
- Infinity Loader
🤝 Contributing #
Contributions are welcome.
If you'd like to improve the package:
- Fork the repository
- Create a new branch
- Commit your changes
- Submit a Pull Request
Bug reports and feature requests are also welcome through GitHub Issues.
📄 License #
This project is licensed under the MIT License.
See the LICENSE file for details.
❤️ Support #
If you find this package useful:
⭐ Star the GitHub repository
👍 Like the package on pub.dev
🐛 Report bugs
💡 Suggest new loader ideas
Happy Flutter development! 🚀
🔗 Connect with Me #
Company: https://andronexa.vercel.app All Links: https://linktr.ee/haris.dev Portfolio: https://haris-devs.vercel.app
Facebook: https://web.facebook.com/profile.php?id=61590527793597 Github: https://github.com/haris-devs Thread: https://www.threads.com/@haris.devs X: https://x.com/haris_devs
Insta: https://www.instagram.com/haris.devs Tiktok: https://www.tiktok.com/@harisdev7 Linkedin: https://www.linkedin.com/in/haris-devs Youtube: http://www.youtube.com/@haris-devs