Animated class Animation

A widget that applies an animation to state changes in its descendants.

See withAnimation for a function that applies an animation to all state changes that are the result of calling a callback.

Only widgets that support animating with Fleet will animate changes. To implement support for this in your own widgets use AnimatableStatelessWidget or AnimatableSingleChildRenderObjectWidgetMixin.

The following provided widgets support animating with Fleet:

The following provided widgets are specific to Fleet:

State changes are only animated if they happen at the same time that value changes. If no value or the alwaysAnimateValue is provided, the animation is applied to all state changes.

Animated can be nested, with the closest enclosing Animated widget taking precedence.

Examples

import 'package:flutter/material.dart';

class MyWidget extends StatefulWidget {
  const MyWidget({super.key});

  @override
  State<MyWidget> createState() => _MyWidgetState();
}

class _MyWidgetState extends State<MyWidget> {
  var _active = false;

  @override
  Widget build(BuildContext context) {
    return GestureDetector(
      onTap: () {
        setState(() {
          _active = !_active;
        });
      },
      child: Animated(
        animation: Curves.ease.animation(250.ms),
        value: _active,
        child: FleetColoredBox(color: _active ? Colors.blue : Colors.grey),
      ),
    );
  }
}

See also:

  • withAnimation for a function that applies an animation to the state changes caused by calling a callback.
Inheritance
Available extensions

Constructors

Animated.new({Key? key, AnimationSpec animation = const AnimationSpec(), Object? value = alwaysAnimateValue, required Widget child})
Creates a widget that applies an animation only to state changes in its descendants.
const

Properties

animation AnimationSpec
The AnimationSpec to use for animating state changes in descendants.
final
child Widget
The widget below this widget in the tree.
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
value Object?
When this value changes, coinciding state changes in descendants are animated.
final

Methods

alignment({double? start, double? x, double? y, AlignmentGeometry? alignment, double? widthFactor, double? heightFactor}) Widget

Available on Widget, provided by the BasicModifiers extension

Aligns this widget within the available space.
animation(AnimationSpec animation, {Object? value = Animated.alwaysAnimateValue}) Widget

Available on Widget, provided by the FleetAnimationModifiers extension

Applies an animation to state changes in the descendants of this widget.
aspectRatio(double aspectRatio) Widget

Available on Widget, provided by the BasicModifiers extension

Attempts to size the widget to a specific aspect ratio.
boxColor(Color color) Widget

Available on Widget, provided by the BasicModifiers extension

Fills the area behind this widget with a color.
centered({double? widthFactor, double? heightFactor}) Widget

Available on Widget, provided by the BasicModifiers extension

Centers this widget within the available space
constraints({double? minWidth, double? maxWidth, double? minHeight, double? maxHeight, BoxConstraints? constraints, bool overflow = false, AlignmentGeometry? alignment}) Widget

Available on Widget, provided by the BasicModifiers extension

Applies additional constraints to this widget.
createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<Animated>
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.
inherited
decoration({Color? color, DecorationImage? image, Gradient? gradient, List<BoxShadow>? shadows, BoxBorder? border, BorderRadiusGeometry? borderRadius, BlendMode? backgroundBlendMode, BoxShape? boxShape, ShapeBorder? shape, Decoration? decoration, DecorationPosition position = DecorationPosition.background}) Widget

Available on Widget, provided by the DecorationModifiers extension

Paints a decoration either after (default) or before this widget.
defaultHorizontalMainAxisSize(MainAxisSize value) Widget

Available on Widget, provided by the FleetFlexModifiers extension

Overrides the default value for FleetFlex.mainAxisSize that is used when no MainAxisSize is explicitly specified, for this widget and its descendants.
defaultUniformPadding(double amount) Widget

Available on Widget, provided by the UniformPaddingModifiers extension

Sets the defaultUniformPadding to amount for this widget and its descendants.
defaultVerticalMainAxisSize(MainAxisSize value) Widget

Available on Widget, provided by the FleetFlexModifiers extension

Overrides the default value for FleetFlex.mainAxisSize that is used when no MainAxisSize is explicitly specified, for this widget and its descendants.
expanded([int flex = 1]) Widget

Available on Widget, provided by the BasicModifiers extension

Sizes this widget so that it fills the available space within its parent Row, Column, or Flex widget.
fit(BoxFit fit, {AlignmentGeometry alignment = Alignment.center, Clip clipBehavior = Clip.none}) Widget

Available on Widget, provided by the BasicModifiers extension

Scales and positions this widget within the available space according to fit
flex(int flex, {FlexFit fit = FlexFit.loose}) Widget

Available on Widget, provided by the BasicModifiers extension

Specifies how this widget is supposed to fill the available space in the main axis within its parent Row, Column, or Flex widget.
flexible([int flex = 1]) Widget

Available on Widget, provided by the BasicModifiers extension

Sizes this widget within the constraints of the available space within its parent Row, Column, or Flex widget.
limit({double maxHeight = double.infinity, double maxWidth = double.infinity}) Widget

Available on Widget, provided by the BasicModifiers extension

Limits this widget's size only when it's unconstrained.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
offset({double? x, double? y, Offset? offset, bool transformHitTests = true, FilterQuality? filterQuality, bool fractional = false}) Widget

Available on Widget, provided by the BasicModifiers extension

Offsets this widget by x and y or an offset.
opacity(double opacity, {bool alwaysIncludeSemantics = false, bool sliver = false}) Widget

Available on Widget, provided by the BasicModifiers extension

Applies opacity to this widget.
opinionatedDefaults() Widget

Available on Widget, provided by the OpinionatedDefaultsModifier extension

Applies opinionated defaults to this widget, for configurable features of Fleet.
padding({double? start, double? end, double? left, double? right, double? top, double? bottom, double? horizontal, double? vertical, double? all, EdgeInsetsGeometry? padding, bool sliver = false}) Widget

Available on Widget, provided by the BasicModifiers extension

Adds padding around this widget.
position({double? start, double? end, double? left, double? right, double? top, double? bottom, double? height, double? width, bool? fill, Rect? rect, RelativeRect? relativeRect}) Widget

Available on Widget, provided by the BasicModifiers extension

Positions this widget within its parent Stack widget.
rotation(double angle, {Offset? origin, AlignmentGeometry? alignment, bool transformHitTests = true, FilterQuality? filterQuality}) Widget

Available on Widget, provided by the BasicModifiers extension

Rotates this widget by angle radians.
scale({double? xy, double? x, double? y, Offset? origin, AlignmentGeometry? alignment, bool transformHitTests = true, FilterQuality? filterQuality}) Widget

Available on Widget, provided by the BasicModifiers extension

Scales this widget by xy for both the x and y axis or x and y separately.
size({double? width, double? height, Size? size, double? square, bool? expand, bool? shrink, bool fractional = false, bool overflow = false, AlignmentGeometry? alignment}) Widget

Available on Widget, provided by the BasicModifiers extension

Applies tight size constraints to this widget.
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
transform(Matrix4 transform, {Offset? origin, AlignmentGeometry? alignment, bool transformHitTests = true, FilterQuality? filterQuality}) Widget

Available on Widget, provided by the BasicModifiers extension

Transforms this widget using a Matrix4.
uniformPadding([Set<Edge> edges = Edges.all, double? amount]) Widget

Available on Widget, provided by the UniformPaddingModifiers extension

Adds an equal amount of padding to specific edges of this widget.

Operators

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

Constants

alwaysAnimateValue → const Object
A value that can be provided to animate all state changes in descendants.