ExtendedSliverGrid class
A sliver that places multiple box children in a two dimensional arrangement.
ExtendedSliverGrid places its children in arbitrary positions determined by gridDelegate. Each child is forced to have the size specified by the gridDelegate.
The main axis direction of a grid is the direction in which it scrolls; the cross axis direction is the orthogonal direction.
{@tool sample}
This example, which would be inserted into a CustomScrollView.slivers list, shows twenty boxes in a pretty teal grid:
SliverGrid(
gridDelegate: SliverGridDelegateWithMaxCrossAxisExtent(
maxCrossAxisExtent: 200.0,
mainAxisSpacing: 10.0,
crossAxisSpacing: 10.0,
childAspectRatio: 4.0,
),
delegate: SliverChildBuilderDelegate(
(BuildContext context, int index) {
return Container(
alignment: Alignment.center,
color: Colors.teal[100 * (index % 9)],
child: Text('grid item $index'),
);
},
childCount: 20,
),
)
{@end-tool}
See also:
- ExtendedSliverList, which places its children in a linear array.
- ExtendedSliverFixedExtentList, which places its children in a linear array with a fixed extent in the main axis.
- SliverPrototypeExtentList, which is similar to ExtendedSliverFixedExtentList except that it uses a prototype list item instead of a pixel value to define the main axis extent of each item.
- Inheritance
- Available Extensions
Constructors
- ExtendedSliverGrid({Key? key, required SliverChildDelegate delegate, required SliverGridDelegate gridDelegate, required ExtendedListDelegate extendedListDelegate})
-
Creates a sliver that places multiple box children in a two dimensional
arrangement.
const
-
ExtendedSliverGrid.count({Key? key, required int crossAxisCount, double mainAxisSpacing = 0.0, double crossAxisSpacing = 0.0, double childAspectRatio = 1.0, List<
Widget> children = const <Widget>[], required ExtendedListDelegate extendedListDelegate}) - Creates a sliver that places multiple box children in a two dimensional arrangement with a fixed number of tiles in the cross axis.
-
ExtendedSliverGrid.extent({Key? key, required double maxCrossAxisExtent, double mainAxisSpacing = 0.0, double crossAxisSpacing = 0.0, double childAspectRatio = 1.0, List<
Widget> children = const <Widget>[], required ExtendedListDelegate extendedListDelegate}) - Creates a sliver that places multiple box children in a two dimensional arrangement with tiles that each have a maximum cross-axis extent.
Properties
- delegate → SliverChildDelegate
-
The delegate that provides the children for this widget.
finalinherited
- extendedListDelegate → ExtendedListDelegate
-
A delegate that provides extensions within the
ExtendedGridView/ExtendedList/WaterfallFlow
.final - gridDelegate → SliverGridDelegate
-
The delegate that controls the size and position of the children.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
createElement(
) → SliverMultiBoxAdaptorElement -
RenderObjectWidgets always inflate to a RenderObjectElement subclass.
inherited
-
createRenderObject(
BuildContext context) → ExtendedRenderSliverGrid -
Creates an instance of the RenderObject class that this
RenderObjectWidget represents, using the configuration described by this
RenderObjectWidget.
override
-
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
-
didUnmountRenderObject(
covariant RenderObject renderObject) → void -
A render object previously associated with this widget has been removed
from the tree. The given RenderObject will be of the same type as
returned by this object's createRenderObject.
inherited
-
estimateMaxScrollOffset(
SliverConstraints? constraints, int firstIndex, int lastIndex, double leadingScrollOffset, double trailingScrollOffset) → double -
Returns an estimate of the max scroll extent for all the children.
override
-
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}) → 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
-
updateRenderObject(
BuildContext context, covariant ExtendedRenderSliverGrid renderObject) → void -
Copies the configuration described by this RenderObjectWidget to the
given RenderObject, which will be of the same type as returned by this
object's createRenderObject.
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited