flutter_unique_loaders 1.0.0 copy "flutter_unique_loaders: ^1.0.0" to clipboard
flutter_unique_loaders: ^1.0.0 copied to clipboard

A collection of beautifully animated custom loaders built using pure Flutter widgets.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:flutter_unique_loaders/flutter_unique_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: LoaderDemoPage(),
    );
  }
}

class LoaderDemoPage extends StatefulWidget {
  const LoaderDemoPage({super.key});

  @override
  State<LoaderDemoPage> createState() => _LoaderDemoPageState();
}

class _LoaderDemoPageState extends State<LoaderDemoPage> {
  final Map<String, bool> _loading = {};

  void _triggerLoader(String key) {
    setState(() {
      _loading[key] = true;
    });

    Future.delayed(const Duration(seconds: 2), () {
      setState(() {
        _loading[key] = false;
      });
    });
  }

  Widget loaderButton(String title, Widget loader, String key) {
    return Padding(
      padding: const EdgeInsets.symmetric(vertical: 12.0),
      child: ElevatedButton(
        style: ElevatedButton.styleFrom(
          minimumSize: const Size(250, 50),
          backgroundColor: Colors.white,
        ),
        onPressed: () => _triggerLoader(key),
        child: _loading[key] == true
            ? loader
            : Text(
          title,
          style: const TextStyle(color: Colors.black),
        ),
      ),
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text("Custom Loaders Demo",style: TextStyle(color: Colors.white),),
        centerTitle: true,
        backgroundColor: Colors.deepPurple,
      ),
      body: Center(
        child: SingleChildScrollView(
          padding: const EdgeInsets.all(16),
          child: Column(
            children: [
              loaderButton("Tapping Hand", const TappingHandLoader(), "tappingHand"),
              loaderButton("Rotating Petal", const RotatingPetalLoader(), "rotatingPetal"),
              loaderButton("Sine Wave Dots", const SineWaveDotsLoader(), "sineWaveDots"),
              loaderButton("Rotating Bubbles", const RotatingBubbleLoader(), "rotatingBubble"),
              loaderButton("Dual Rotating Arcs", const DualRotatingArcsLoader(), "dualRotating"),
              loaderButton("Paper Plane", const PaperPlaneLoader(), "paperPlane"),
              loaderButton("Tetris Loader", const TetrisLoader(), "tetrisLoader"),
              loaderButton("Hourglass", const HourglassLoader(), "hourglass"),
              loaderButton(
                "Circular Indicator",
                const CircularIndicatorBar(
                  size: 30,
                  strokeWidth: 4,
                  progressColor: Colors.purple,
                ),
                "circularIndicator",
              ),
              loaderButton(
                "Linear Indicator",
                const SizedBox(
                  width: 150,
                  child: LinearIndicatorBar(
                    height: 6,
                    backgroundColor: Colors.white24,
                    progressColor: Colors.purple,
                  ),
                ),
                "linearIndicator",
              ),
              loaderButton(
                "Bouncing Dots",
                const BouncingLoader(
                  dotCount: 3,
                  dotSize: 10,
                  color: Colors.purple,
                ),
                "bouncingLoader",
              ),
              loaderButton("Ripple Pulse", const RippleLoader(), "rippleLoader"),
            ],
          ),
        ),
      ),
    );
  }
}
1
likes
140
points
21
downloads

Publisher

unverified uploader

Weekly Downloads

A collection of beautifully animated custom loaders built using pure Flutter widgets.

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on flutter_unique_loaders