ScaleTransition class

Animates the scale of a transformed widget.

Here's an illustration of the ScaleTransition widget, with it's alignment animated by a CurvedAnimation set to Curves.fastOutSlowIn:

The following code implements the ScaleTransition as seen in the video above:
To create a local project with this code sample, run:
flutter create --sample=widgets.ScaleTransition.1 mysample

See also:

  • PositionedTransition, a widget that animates its child from a start position to an end position over the lifetime of the animation.
  • RelativePositionedTransition, a widget that transitions its child's position based on the value of a rectangle relative to a bounding box.
  • SizeTransition, a widget that animates its own size and clips and aligns its child.


ScaleTransition({Key key, @required Animation<double> scale, Alignment alignment:, Widget child})
Creates a scale transition. [...]


alignment Alignment
The alignment of the origin of the coordinate system in which the scale takes place, relative to the size of the box. [...]
child Widget
The widget below this widget in the tree. [...]
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
listenable Listenable
The Listenable to which this widget is listening. [...]
final, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
scale Animation<double>
The animation that controls the scale of the child. [...]


build(BuildContext context) Widget
Override this method to build widgets that depend on the state of the listenable (e.g., the current value of the animation).
createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree. [...]
createState() → _AnimatedState
Subclasses typically do not override this method.
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. [...]
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
toDiagnosticsNode({String name, DiagnosticsTreeStyle style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep. [...]
toString({DiagnosticLevel minLevel:}) String
Returns a string representation of this object.
toStringDeep({String prefixLineOne: '', String prefixOtherLines, DiagnosticLevel minLevel: DiagnosticLevel.debug}) String
Returns a string representation of this node and its descendants. [...]
toStringShallow({String joiner: ', ', DiagnosticLevel minLevel: DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object. [...]
toStringShort() String
A short, textual description of this widget.


operator ==(Object other) bool
The equality operator. [...]
@nonVirtual, inherited