flip_layout library

Classes

AnimatedLayout
Convenience widget that wraps each child of a layout container in a LayoutMotion. Use this when you want a Column/Row/Wrap whose children animate smoothly on reorder or filter.
LayoutMotion
A widget that smoothly animates when its own position on screen changes due to layout changes in ancestors (reordering, filtering, expansion, ...).
MotionConfig
Subtree-wide motion defaults. Wrap part of your app in a MotionConfig and every LayoutMotion/MotionGroup below inherits its duration/curve/ stagger, and honours its "reduce motion" setting — set it once instead of threading the same values through every widget (Framer Motion's MotionConfig).
MotionGroup
Arranges children through builder (a Wrap, Column, GridView, …) and declaratively animates the collection as it changes:
MotionSharedId
A widget that participates in shared-element transitions. Two of these with the same id under one MotionSharedScope animate between each other.
MotionSharedScope
Wrap a region in a MotionSharedScope, then give two widgets the same MotionSharedId id. When one disappears and the other appears (or the element simply moves to a new place) — within the same page, no route change — a copy flies from the old rect to the new one over the scope's duration/curve.
MotionSpring
A velocity-preserving spring for LayoutMotion/MotionGroup slides.
SharedElementController
Tracks active MotionSharedIds by id, and flies an overlay copy from an id's previous rect to its new rect whenever it moves. Notifies listeners when the set of in-flight ids changes so the real widgets can hide.
SpringCurve
A Curve shaped by a tunable spring, giving a natural overshoot-and-settle motion. Drop it anywhere a curve is accepted — LayoutMotion, MotionGroup or MotionConfig's curve: — for spring-style slides:

Typedefs

MotionFlightShuttleBuilder = Widget Function(BuildContext context, Animation<double> animation, Widget fromChild, Widget toChild)
Builds the in-flight widget for a shared-element transition. animation runs 0→1 over the flight (already shaped by the scope's curve); fromChild is the widget that previously held the id and toChild the one that now holds it.