diff --git a/lib/src/widgets.dart b/lib/src/widgets.dart index a3f58fe..bf27e8f 100644 --- a/lib/src/widgets.dart +++ b/lib/src/widgets.dart @@ -53,7 +53,7 @@ class SkeletonAvatar extends StatelessWidget { style.maxHeight ?? constraints.maxHeight) : style.height, decoration: BoxDecoration( - color: Theme.of(context).backgroundColor, + color: Theme.of(context).scaffoldBackgroundColor, shape: style.shape, borderRadius: style.shape != BoxShape.circle ? style.borderRadius : null, @@ -97,7 +97,7 @@ class SkeletonLine extends StatelessWidget { : style.width, height: style.height, decoration: BoxDecoration( - color: Theme.of(context).backgroundColor, + color: Theme.of(context).scaffoldBackgroundColor, borderRadius: style.borderRadius, ), ); @@ -218,27 +218,34 @@ class SkeletonListTile extends StatelessWidget { class SkeletonListView extends StatelessWidget { final Widget? item; final Widget Function(BuildContext, int)? itemBuilder; - final int? itemCount; + final int itemCount; final bool scrollable; final EdgeInsets? padding; - final double? spacing; + final double spacing; + final bool shrinkWrap; + final Widget Function(BuildContext, int)? separatorBuilder; SkeletonListView({ Key? key, this.item, this.itemBuilder, - this.itemCount, + this.itemCount = 3, this.scrollable = false, - this.padding = const EdgeInsets.symmetric(horizontal: 16), - this.spacing = 8, + this.padding = const EdgeInsets.symmetric(horizontal: 16.0), + this.spacing = 8.0, + this.shrinkWrap = true, + this.separatorBuilder, }) : super(key: key); @override Widget build(BuildContext context) { return SkeletonItem( - child: ListView.builder( + child: ListView.separated( + separatorBuilder: + separatorBuilder ?? (context, index) => SizedBox(height: spacing), padding: padding, physics: scrollable ? null : NeverScrollableScrollPhysics(), + shrinkWrap: shrinkWrap, itemCount: itemCount, itemBuilder: itemBuilder ?? (context, index) =>