vibe_loader 0.0.1 copy "vibe_loader: ^0.0.1" to clipboard
vibe_loader: ^0.0.1 copied to clipboard

A simple Flutter demo app showcasing various animated loaders from the `vibe_loader` package.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:vibe_loader/loaders/liquid_bubble_loader.dart';
import 'package:vibe_loader/loaders/neon_grid_loader.dart';
import 'package:vibe_loader/loaders/quantum_orbital_loader.dart';
import 'package:vibe_loader/vibe_loader.dart';
void main() => runApp(const LoaderExample());

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

  @override
  State<LoaderExample> createState() => _LoaderExampleState();
}

class _LoaderExampleState extends State<LoaderExample> {
  int _currentPage = 0;

  final List<Widget> _loaders = [
    const LiquidBubbleLoader(size: 120),
    const QuantumOrbitalLoader(size: 120),
    const NeonGridLoader(size: 120),
    const BouncingDotsLoader(size: 20),
    const RotatingCircleLoader(size: 40),
    const PulseLoader(size: 40),
  ];

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Fancy Loaders Demo',
      theme: ThemeData.dark().copyWith(
        scaffoldBackgroundColor: const Color(0xFF0F0F1E),
        appBarTheme: const AppBarTheme(
          backgroundColor: Color(0xFF1A1A2E),
        ),
      ),
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Fancy Loaders'),
          centerTitle: true,
        ),
        body: Column(
          children: [
            Expanded(
              child: PageView.builder(
                itemCount: _loaders.length,
                onPageChanged: (page) => setState(() => _currentPage = page),
                itemBuilder: (context, index) {
                  return Center(
                    child: _loaders[index],
                  );
                },
              ),
            ),
            _buildPageIndicator(),
            const SizedBox(height: 20),
          ],
        ),
      ),
    );
  }

  Widget _buildPageIndicator() {
    return Row(
      mainAxisAlignment: MainAxisAlignment.center,
      children: List.generate(
        _loaders.length,
            (index) => Container(
          width: 12.0,
          height: 12.0,
          margin: const EdgeInsets.symmetric(horizontal: 4.0),
          decoration: BoxDecoration(
            shape: BoxShape.circle,
            color: _currentPage == index
                ? const Color(0xFF08F7FE)
                : const Color(0xFF4A4A6A),
          ),
        ),
      ),
    );
  }
}
1
likes
130
points
4
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A simple Flutter demo app showcasing various animated loaders from the `vibe_loader` package.

License

MIT (license)

Dependencies

flutter

More

Packages that depend on vibe_loader