GridLayoutDelegate class
A MultiChildLayoutDelegate that positions grid cells in viewport space.
Cell geometry is resolved here, at layout time, from two scroll-
independent inputs — columnSpans for the horizontal axis and rowHeight
for the vertical one — rather than being precomputed into per-cell rects by
the widget layer. That's what lets scrolling reposition every cell through
relayout → markNeedsLayout alone, with no widget rebuild.
- Inheritance
-
- Object
- MultiChildLayoutDelegate
- GridLayoutDelegate
Constructors
-
GridLayoutDelegate({required List<
CellLayoutId> cellIds, required Map<int, ColumnSpan> columnSpans, required double rowHeight, required ValueNotifier<double> vOffset, required Listenable relayout, ValueNotifier<double> ? hOffset, double pinnedWidth = 0.0})
Properties
-
cellIds
→ List<
CellLayoutId> -
The cells currently built, in child order.
final
-
columnSpans
→ Map<
int, ColumnSpan> -
Horizontal placement per column index (content space).
final
- hashCode → int
-
The hash code for this object.
no setterinherited
-
hOffset
→ ValueNotifier<
double> ? -
Horizontal scroll offset notifier. Pass
nullfor the pinned quadrant.final - pinnedWidth → double
-
Width of the pinned-column area; added to unpinned cells' x positions.
final
- rowHeight → double
-
Uniform row height, in logical pixels.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
vOffset
→ ValueNotifier<
double> -
Vertical scroll offset notifier.
final
Methods
-
getSize(
BoxConstraints constraints) → Size -
Override this method to return the size of this object given the
incoming constraints.
inherited
-
hasChild(
Object childId) → bool -
True if a non-null LayoutChild was provided for the specified id.
inherited
-
layoutChild(
Object childId, BoxConstraints constraints) → Size -
Ask the child to update its layout within the limits specified by
the constraints parameter. The child's size is returned.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
performLayout(
Size size) → void -
Override this method to lay out and position all children given this
widget's size.
override
-
positionChild(
Object childId, Offset offset) → void -
Specify the child's origin relative to this origin.
inherited
-
shouldRelayout(
covariant GridLayoutDelegate oldDelegate) → bool -
Override this method to return true when the children need to be
laid out.
override
-
toString(
) → String -
Override this method to include additional information in the
debugging data printed by debugDumpRenderTree and friends.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
buildRelayout(
{ValueNotifier< double> ? hOffset, required ValueNotifier<double> vOffset}) → Listenable - Builds the merged relayout listenable for a quadrant.