Shimmer class

A widget renders shimmer effect over child widget tree.

child defines an area that shimmer effect blends on. You can build child from whatever Widget you like but there're some notices in order to get exact expected effect and get better rendering performance:

  • Use static Widget (which is an instance of StatelessWidget).
  • Widget should be a solid color element. Every colors you set on these Widgets will be overridden by colors of gradient.
  • Shimmer effect only affects to opaque areas of child, transparent areas still stays transparent.

period controls the speed of shimmer effect. The default value is 1500 milliseconds.

direction controls the direction of shimmer effect. The default value is ShimmerDirection.ltr.

gradient controls colors of shimmer effect.

loop the number of animation loop, set value of 0 to make animation run forever.

enabled controls if shimmer effect is active. When set to false the animation is paused

Pro tips:

Inheritance
Available extensions
Annotations

Constructors

Shimmer({Key? key, required Widget child, required Gradient gradient, ShimmerDirection direction = ShimmerDirection.ltr, Duration period = const Duration(milliseconds: 1500), int loop = 0, bool enabled = true})
const
Shimmer.fromColors({Key? key, required Widget child, required Color baseColor, required Color highlightColor, Duration period = const Duration(milliseconds: 1500), ShimmerDirection direction = ShimmerDirection.ltr, int loop = 0, bool enabled = true})
A convenient constructor provides an easy and convenient way to create a Shimmer which gradient is LinearGradient made up of baseColor and highlightColor.

Properties

bottomCenter Align

Available on Widget, provided by the ExtAlign extension

no setter
bottomLeft Align

Available on Widget, provided by the ExtAlign extension

no setter
bottomRight Align

Available on Widget, provided by the ExtAlign extension

no setter
center Align

Available on Widget, provided by the ExtAlign extension

no setter
centerLeft Align

Available on Widget, provided by the ExtAlign extension

no setter
centerRight Align

Available on Widget, provided by the ExtAlign extension

no setter
child Widget
final
direction ShimmerDirection
final
enabled bool
final
gradient Gradient
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
loop int
final
period Duration
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
topCenter Align

Available on Widget, provided by the ExtAlign extension

no setter
topLeft Align

Available on Widget, provided by the ExtAlign extension

no setter
topRight Align

Available on Widget, provided by the ExtAlign extension

no setter

Methods

background({Color? color, String? bgImage, BoxFit? fitBgImage, BoxShape shape = BoxShape.rectangle, double? radius, double? border, Color? borderColor, double? borderLeft, double? borderTop, double? borderRight, double? borderBottom, double? topLeft, double? topRight, double? bottomLeft, double? bottomRight, double? width, double? height, double? maxWidth, double? maxHeight, double? minWidth, double? minHeight, BoxDecoration? decoration, Alignment? alignment}) Widget

Available on Widget, provided by the ExtBg extension

border({double topLeft = 10.0, double topRight = 10.0, double bottomLeft = 10.0, double bottomRight = 10.0}) Container

Available on Widget, provided by the ExtSpace extension

borderAll(double padding) Container

Available on Widget, provided by the ExtSpace extension

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() → _ShimmerState
Creates the mutable state for this widget at a given location in the tree.
override
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
override
margin({double left = 0, double top = 0, double right = 0, double bottom = 0, dynamic vertical, dynamic horizontal}) Container

Available on Widget, provided by the ExtSpace extension

marginAll(double margin) Container

Available on Widget, provided by the ExtSpace extension

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
padding({double left = 0, double top = 0, double right = 0, double bottom = 0, dynamic vertical, dynamic horizontal}) Padding

Available on Widget, provided by the ExtSpace extension

paddingA(double padding) Padding

Available on Widget, provided by the ExtSpace extension

toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited