ui_skeleton_factory library

A Flutter package that automatically generates Skeleton Loading UI from any existing Flutter Widget without manually writing skeleton layouts.

Features

  • 🎯 Automatic Generation: Convert any widget to skeleton with zero config
  • 🎨 Layout Preservation: Maintains original widget sizes and structure
  • ✨ Shimmer Animation: Optional smooth shimmer effect
  • âš¡ Performance: Optimized for smooth scrolling and minimal overhead
  • 🔧 Flexible API: Multiple ways to use (widget, static, extension)

Quick Start

// Method 1: Using SkeletonFactory widget
SkeletonFactory(
  isLoading: true,
  child: ProductCard(product: product),
)

// Method 2: Using Skeleton.from() static method
Skeleton.from(
  ProductCard(product: fakeProduct),
)

// Method 3: Using extension
ProductCard(product: product).skeleton(isLoading: true)

Configuration

SkeletonFactory(
  isLoading: true,
  config: SkeletonConfig(
    shimmer: true,
    baseColor: Colors.grey[300],
    highlightColor: Colors.grey[100],
    shimmerDuration: Duration(milliseconds: 1500),
  ),
  child: MyWidget(),
)

Classes

AdaptiveSkeltonizer
A skeltonizer that automatically adapts to Material theme.
FadeSkeltonizer
Skeltonizer with fade transition.
GradientShimmer
A pure gradient-based shimmer that generates new widget tree.
ListSkeltonizer
Skeltonizer for lists with optimization.
ScaleSkeletonSwitcher
A skeleton switcher with scale transition.
ShimmerEffect
A shimmer loading effect widget using pure widget animation.
SizeResolver
Resolves and captures sizes from widgets and render objects.
Skeleton
Static API for generating skeletons from widgets.
SkeletonAvatar
A circular skeleton avatar.
SkeletonBox
A skeleton box that maintains aspect ratio.
SkeletonBuilderWidget
A builder-based skeleton wrapper for more control.
SkeletonCache
Cache for generated skeleton widgets.
SkeletonCacheKey
Cache key for skeleton widgets.
SkeletonConfig
Configuration for skeleton loading appearance and behavior.
SkeletonContainer
A skeleton placeholder container.
SkeletonController
A controller for managing skeleton states and behaviors across your app.
SkeletonControllerProvider
Widget that provides a SkeletonController to its descendants.
SkeletonDebug
Debug mode configuration for skeleton generation.
SkeletonDebugEntry
A debug log entry for skeleton generation.
SkeletonFactory
Main widget for automatic skeleton generation.
SkeletonGenerationContext
Context passed through skeleton generation process.
SkeletonLine
A skeleton line for text placeholders.
SkeletonParser
Parses and traverses widget trees to generate skeleton representations.
SkeletonRegistry
Registry for custom skeleton builders.
SkeletonSwitcher
A widget that smoothly animates between skeleton and actual content.
SkeletonTheme
Predefined color themes for skeleton loading.
SkeletonWrapper
Wraps a widget with skeleton loading capability.
Skeltonizer
Main Skeltonizer widget - Better than the competition!
SlideSkeletonSwitcher
A skeleton switcher with slide transition.
WidgetMapper
Maps Flutter widgets to their skeleton representations.

Extensions

CircleAvatarSkeletonExtension on CircleAvatar
Extension for CircleAvatar widgets.
IconSkeletonExtension on Icon
Extension for Icon widgets.
ImageSkeletonExtension on Image
Extension for Image widgets.
SkeletonControllerExtension on BuildContext
Extension to easily access SkeletonController from BuildContext.
SkeletonExtension on Widget
Extension methods for easy skeleton generation.
SkeletonThemeExtension on SkeletonTheme
Extension to convert SkeletonTheme to SkeletonConfig.
SkeltonizeExtension on Widget
Extension to easily skeltonize any widget.
TextSkeletonExtension on Text
Extension for Text widgets.

Typedefs

SkeletonBuilder = Widget Function(Widget originalWidget, SkeletonConfig config, BuildContext? context)
Type definition for skeleton builder functions.