auto_shimmer 0.1.2 copy "auto_shimmer: ^0.1.2" to clipboard
auto_shimmer: ^0.1.2 copied to clipboard

A lightweight, theme-aware shimmer/skeleton loading wrapper for Flutter with directional support.

✨ Auto Shimmer

A lightweight, theme-aware shimmer wrapper for any widget. Smooth loading animations with directional control and optional diagonal tilt.

Perfect for skeleton loaders, grids, lists, cards, and text placeholders.

🚀 Features

✅ Wrap any widget 🎨 Theme-aware (iOS + Android) ↔ Supports LTR / RTL / TTB / BTT directions ✨ Optional diagonal tilt for premium feel ⚡ Lightweight & no external dependencies ♿ Accessibility-friendly (excluded semantics during loading)

📸 Preview

Demo

📦 Installation

Add this to your pubspec.yaml:

dependencies: auto_shimmer: ^0.1.0

Then run:

flutter pub get

📖 Basic Usage

AutoShimmer(
    isLoading: true,
    child: Container(
        height: 80,
        width: double.infinity,
        color: Colors.grey,
    ),
)

🎯 Direction & Tilt

Control shimmer movement direction and angle:

AutoShimmer(
    isLoading: true,
    direction: ShimmerDirection.rtl,
    tilt: -0.25,
    child: Text("Loading..."),
)

Available Directions

ShimmerDirection.ltr
ShimmerDirection.rtl
ShimmerDirection.ttb
ShimmerDirection.btt

Vertical directions automatically disable tilt.

🧱 Grid Example (2 items per row)

GridView.builder(
    padding: const EdgeInsets.all(16),
    itemCount: 8,
    gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
        crossAxisCount: 2,
        crossAxisSpacing: 12,
        mainAxisSpacing: 12,
        childAspectRatio: 1,
      ),
      itemBuilder: (context, index) {
      return AutoShimmer(
        isLoading: true,
        child: Container(
        decoration: BoxDecoration(
            color: Colors.blue,
            borderRadius: BorderRadius.circular(16),
            ),
          ),
        );
      },
  );

🌙 Theme Awareness

AutoShimmer automatically adapts to:

iOS (CupertinoTheme)

Android (Material Theme)

You can override colors manually:

    AutoShimmer(
    isLoading: true,
    baseColor: Colors.grey.shade300,
    highlightColor: Colors.white,
    child: ...
)

⏱ Custom Duration

AutoShimmer(
    isLoading: true,
    duration: const Duration(milliseconds: 1800),
    child: ...
)

♿ Accessibility

When loading, semantics are excluded to avoid screen reader noise.

🛠 Example App

See the full example inside the /example folder for:

Text shimmer

Grid shimmer

Horizontal list shimmer

Dark mode preview

📜 License

MIT License — free to use in personal and commercial projects.

If this package helps you, consider ⭐ starring the repository.

1
likes
160
points
181
downloads

Publisher

unverified uploader

Weekly Downloads

A lightweight, theme-aware shimmer/skeleton loading wrapper for Flutter with directional support.

Repository (GitHub)
View/report issues

Topics

#shimmer #skeleton #loading #ui #animation

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on auto_shimmer