flutter_custom_loaders
A collection of beautifully animated custom loaders built using pure Flutter widgets. Perfect for displaying loading states with flair in your apps â supports web, mobile, and desktop platforms.
⨠Features
- 12+ unique loader animations
- Fully customizable (size, color, duration, etc.)
- Smooth and performant animations
- Pure Flutter, no external dependencies
- Works on Android, iOS, Web, Windows, Linux, and macOS
đ ī¸ Getting Started
Add the package to your pubspec.yaml:
dependencies:
flutter_custom_loaders: ^1.0.0
Then run:
flutter pub get
Import the package:
import 'package:flutter_custom_loaders/flutter_custom_loaders.dart';
đ Usage
Basic Usage
RotatingPetalLoader();
Show Loader on Button Tap
import 'package:flutter/material.dart';
import 'package:flutter_custom_loaders/flutter_custom_loaders.dart';
void main() {
runApp(const MyLoaderApp());
}
class MyLoaderApp extends StatelessWidget {
const MyLoaderApp({super.key});
@override
Widget build(BuildContext context) {
return const MaterialApp(
debugShowCheckedModeBanner: false,
home: LoaderButtonDemo(),
);
}
}
class LoaderButtonDemo extends StatefulWidget {
const LoaderButtonDemo({super.key});
@override
State<LoaderButtonDemo> createState() => _LoaderButtonDemoState();
}
class _LoaderButtonDemoState extends State<LoaderButtonDemo> {
bool isLoading = false;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text("Loader Button Example")),
body: Center(
child: ElevatedButton(
onPressed: () {
setState(() => isLoading = true);
Future.delayed(const Duration(seconds: 2), () {
setState(() => isLoading = false);
});
},
child: isLoading
? const RotatingPetalLoader()
: const Text("Submit"),
),
),
);
}
}
đĻ Available Loaders
| Animation | Widget Name |
|---|---|
| đ Tapping Hand | TappingHandLoader() |
| đ¸ Rotating Petals | RotatingPetalLoader() |
| đ Sine Wave Dots | SineWaveDotsLoader() |
| đ̧ Rotating Bubbles | RotatingBubbleLoader() |
| đ¯ Dual Rotating Arcs | DualRotatingArcsLoader() |
| đŠī¸ Paper Plane | PaperPlaneLoader() |
| đ§ą Tetris Block | TetrisLoader() |
| âŗ Hourglass | HourglassLoader() |
| đ Circular Indicator | CircularIndicatorBar() |
| đļ Linear Progress Bar | LinearIndicatorBar() |
| đĩ Bouncing Dots | BouncingLoader() |
| đ Ripple Pulse | RippleLoader() |
đ Example
Check the example folder for a full working demo app.
đ Contributing
Contributions are welcome! Feel free to open an issue or pull request.
đ License
This package is licensed under the MIT License.
Built with â¤ī¸ using Flutter.