smooth_loader 3.0.0 copy "smooth_loader: ^3.0.0" to clipboard
smooth_loader: ^3.0.0 copied to clipboard

A modern, lightweight, and highly customizable collection of smooth Flutter loading animations.

smooth_loader Banner

A modern, lightweight, and highly customizable collection of beautiful loading animations for Flutter.

pub version likes pub points popularity


✨ 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 #

smooth_loader Preview

Example:

Pulse Loader
Dots Loader
Wave Loader
Orbit Loader
Spinner Loader

✨ Features #

  • 10 beautiful built-in loading animations
  • Unified SmoothLoader widget
  • 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 #

smooth_loader 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:

  1. Fork the repository
  2. Create a new branch
  3. Commit your changes
  4. 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.flutter-io.cn

πŸ› 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

0
likes
125
points
14
downloads

Documentation

API reference

Publisher

verified publisherandronexa.online

Weekly Downloads

A modern, lightweight, and highly customizable collection of smooth Flutter loading animations.

Topics

#loading #loader #animation #progress #ui

License

MIT (license)

Dependencies

flutter

More

Packages that depend on smooth_loader