SliverWaterfallFlowDelegateWithMaxCrossAxisExtent class
Creates masonry layouts with tiles that each have a maximum cross-axis extent.
This delegate will select a cross-axis extent for the tiles that is as large as possible subject to the following conditions:
- The extent evenly divides the cross-axis extent of the grid.
- The extent is at most maxCrossAxisExtent.
For example, if the grid is vertical, the grid is 500.0 pixels wide, and maxCrossAxisExtent is 150.0, this delegate will create a grid with 4 columns that are 125.0 pixels wide.
This delegate creates grids with equally cross-axis sized and spaced tiles.
See also:
- SliverWaterfallFlowDelegateWithFixedCrossAxisCount, which creates a masonry layout with a fixed number of tiles in the cross axis.
MasonryGridView
, which uses this delegate to control the layout of its tiles.- SliverWaterfallFlow, which uses this delegate to control the layout of its tiles.
- RenderSliverWaterfallFlow, which uses this delegate to control the layout of its tiles.
- Inheritance
-
- Object
- ExtendedListDelegate
- SliverWaterfallFlowDelegate
- SliverWaterfallFlowDelegateWithMaxCrossAxisExtent
Constructors
- SliverWaterfallFlowDelegateWithMaxCrossAxisExtent({required double maxCrossAxisExtent, double mainAxisSpacing = 0.0, double crossAxisSpacing = 0.0, LastChildLayoutTypeBuilder? lastChildLayoutTypeBuilder, CollectGarbage? collectGarbage, ViewportBuilder? viewportBuilder, bool closeToTrailing = false})
-
Creates a delegate that makes masonry layouts with tiles that have a maximum
cross-axis extent.
const
Properties
- closeToTrailing → bool
-
when reverse property of List is true, layout is as following.
it likes chat list, and new session will insert to zero index
but it's not right when items are not full of viewport.
finalinherited
- collectGarbage → CollectGarbage?
-
Call when collect garbage, return indexes of children which are disposed to collect
finalinherited
- crossAxisSpacing → double
-
The number of logical pixels between each child along the cross axis.
finalinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- lastChildLayoutTypeBuilder → LastChildLayoutTypeBuilder?
-
The builder to get layout type of last child
Notice: it should only for last child
finalinherited
- mainAxisSpacing → double
-
The number of logical pixels between each child along the main axis.
finalinherited
- maxCrossAxisExtent → double
-
The maximum extent of tiles in the cross axis.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- viewportBuilder → ViewportBuilder?
-
The builder to get indexes in viewport
finalinherited
Methods
-
getChildUsableCrossAxisExtent(
SliverConstraints constraints) → double -
Return usable cross-axis extent of each child.
inherited
-
getCrossAxisCount(
SliverConstraints constraints) → int -
Return
crossAxisCount
by SliverWaterfallFlowDelegateWithFixedCrossAxisCount and SliverWaterfallFlowDelegateWithMaxCrossAxisExtent.override -
getCrossAxisOffset(
SliverConstraints constraints, int? crossAxisIndex) → double -
Return the offset of the child in the non-scrolling axis.
inherited
-
getLastChildLayoutType(
int index) → LastChildLayoutType -
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
shouldRelayout(
SliverWaterfallFlowDelegate oldDelegate) → bool -
Return true when the children need to be laid out.
override
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited