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.