A virtual viewport onto an extremely large or infinite list of equally sized children.

LazyListViewport differs from ListViewport in that LazyListViewport uses an ItemListBuilder to lazily create children. That makes LazyListViewport suitable for an extremely large or infinite list of children but also makes it more verbose than ListViewport.

LazyListViewport differs from LazyBlockViewport in that LazyListViewport requires each of its children to be the same size. That makes LazyListViewport more efficient but less flexible than LazyBlockViewport.

Used by ScrollableLazyList.

See also:

Mixes-in
  • VirtualViewportFromBuilder

Constructors

LazyListViewport({ExtentsChangedCallback onExtentsChanged, double scrollOffset: 0.0, Axis mainAxis: Axis.vertical, ViewportAnchor anchor: ViewportAnchor.start, @required double itemExtent, EdgeInsets padding, int itemCount, @required ItemListBuilder itemBuilder })

Creates a virtual viewport onto an extremely large or infinite list of equally sized children.

Properties

itemBuilder ItemListBuilder

read-only
itemCount int

read-only
anchor ViewportAnchor

Whether to place first child at the start of the container or the last child at the end of the container, when the viewport has not been offset.

read-only, inherited
hashCode int

Get a hash code for this object.

read-only, inherited
itemExtent double

The height of each item if scrollDirection is Axis.vertical, otherwise the width of each item.

read-only, inherited
itemsWrap bool

Whether the first item should be revealed after scrolling past the last item.

read-only, inherited
key Key

Controls how one widget replaces another widget in the tree.

read-only, inherited
mainAxis Axis

The direction in which the children are permitted to be larger than the viewport.

read-only, inherited
onExtentsChanged ExtentsChangedCallback

Called when the interior or exterior dimensions of the viewport change.

read-only, inherited
padding EdgeInsets

The amount of space by which to inset the children inside the viewport.

read-only, inherited
runtimeType Type

A representation of the runtime type of the object.

read-only, inherited
scrollOffset double

The startOffset without taking the padding into account.

read-only, inherited
startOffset double

read-only, inherited

Operators

operator ==(other) bool

The equality operator.

inherited

Methods

createElement() → _VirtualListViewportElement

RenderObjectWidgets always inflate to a RenderObjectElement subclass.

inherited
createRenderObject(BuildContext context) RenderList

Creates an instance of the RenderObject class that this RenderObjectWidget represents, using the configuration described by this RenderObjectWidget.

inherited
debugFillDescription(List<String> description) → void

Add additional information to the given description for use by toString.

inherited
didUnmountRenderObject(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
noSuchMethod(Invocation invocation) → dynamic

Invoked when a non-existent method or property is accessed.

inherited
toString() String

Returns a string representation of this object.

inherited
toStringShort() String

A short, textual description of this widget.

inherited
updateRenderObject(BuildContext context, RenderObject 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.

inherited