CrossFadedTransition constructor

const CrossFadedTransition({
  1. Key? key,
  2. required Widget child,
  3. Duration duration = kDefaultDuration,
  4. AlignmentGeometry alignment = Alignment.center,
  5. Widget lerp(
    1. Widget a,
    2. Widget b,
    3. double t, {
    4. AlignmentGeometry alignment,
    }) = lerpOpacity,
})

Creates a CrossFadedTransition widget.

Parameters:

  • child (Widget, required): The child widget to display and transition from when changed.
  • duration (Duration, default: kDefaultDuration): How long transitions should take.
  • alignment (AlignmentGeometry, default: Alignment.center): Widget alignment during transitions.
  • lerp (Function, default: lerpOpacity): How to interpolate between old and new children.

The child should have a unique key when you want to trigger transitions, as the widget uses key comparison to detect when content has changed.

Example:

CrossFadedTransition(
  duration: Duration(milliseconds: 250),
  alignment: Alignment.topCenter,
  child: _currentIndex == 0
      ? Text('Home', key: ValueKey('home'))
      : Text('Settings', key: ValueKey('settings')),
);

Implementation

const CrossFadedTransition({
  super.key,
  required this.child,
  this.duration = kDefaultDuration,
  this.alignment = Alignment.center,
  this.lerp = lerpOpacity,
});