Shimmer class Null safety

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
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

child Widget
final
direction ShimmerDirection
final
enabled bool
final
gradient Gradient
final
hashCode int
The hash code for this object. [...]
@nonVirtual, read-only, inherited
key Key?
Controls how one widget replaces another widget in the tree. [...]
final, inherited
loop int
final
period Duration
final
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited

Methods

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. [...]
@protected, inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node. [...]
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
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}) 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. [...]
@nonVirtual, inherited