MorphingSource<T extends Object> class
Wraps a widget to act as a morph source for the overlay carousel.
On tap, captures the widget's global rect via its RenderBox and calls OverlayMorphController.selectItem with the rect, item data, and index.
Place this around each grid/list item that should trigger the overlay morph.
Usage
GridView.builder(
itemBuilder: (context, index) {
return MorphingSource<Product>(
controller: overlayController,
item: products[index],
itemIndex: index,
child: ProductCard(products[index]),
);
},
)
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatelessWidget
- MorphingSource
Constructors
- MorphingSource({Key? key, required OverlayMorphController controller, required T item, required int itemIndex, required Widget child, VoidCallback? onTap})
-
const
Properties
- child → Widget
-
The visual widget to display (and morph from).
final
- controller → OverlayMorphController
-
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- item → T
-
The data item this source represents.
final
- itemIndex → int
-
Index of this item in the items list (for carousel starting position).
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- onTap → VoidCallback?
-
Optional additional tap callback (called before morph starts).
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
build(
BuildContext context) → Widget -
Describes the part of the user interface represented by this widget.
override
-
createElement(
) → StatelessElement -
Creates a StatelessElement to manage this widget's location in the tree.
inherited
-
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
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent 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, 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
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited