RenderSliverFillViewport class

A sliver that contains multiple box children that each fill the viewport.

RenderSliverFillViewport places its children in a linear array along the main axis. Each child is sized to fill the viewport, both in the main and cross axis. A viewportFraction factor can be provided to size the children to a multiple of the viewport's main axis dimension (typically a fraction less than 1.0).

See also:

Inheritance

Constructors

RenderSliverFillViewport({@required RenderSliverBoxChildManager childManager, double viewportFraction: 1.0 })
Creates a sliver that contains multiple box children that each fill the viewport. [...]

Properties

itemExtent double
The main-axis extent of each item.
read-only
viewportFraction double
The fraction of the viewport that each child should fill in the main axis. [...]
read / write
alwaysNeedsCompositing bool
Whether this render object always needs compositing. [...]
@protected, read-only, inherited
attached bool
Whether this node is in a tree whose root is attached to something. [...]
read-only, inherited
centerOffsetAdjustment double
For a center sliver, the distance before the absolute zero scroll offset that this sliver can cover. [...]
read-only, inherited
childCount int
The number of children.
read-only, inherited
childManager RenderSliverBoxChildManager
The delegate that manages the children of this object. [...]
@protected, read-only, inherited
constraints SliverConstraints
The layout constraints most recently supplied by the parent.
read-only, inherited
debugCanParentUseSize bool
Whether the parent render object is permitted to use this render object's size. [...]
read-only, inherited
debugCreator ↔ dynamic
The object responsible for creating this render object. [...]
read / write, inherited
debugDoingThisLayout bool
Whether performLayout for this render object is currently running. [...]
read-only, inherited
debugDoingThisPaint bool
Whether paint for this render object is currently running. [...]
read-only, inherited
debugDoingThisResize bool
Whether performResize for this render object is currently running. [...]
read-only, inherited
debugLayer OffsetLayer
In debug mode, the compositing layer that this render object uses to repaint. [...]
read-only, inherited
debugNeedsLayout bool
Whether this render object's layout information is dirty. [...]
read-only, inherited
debugNeedsPaint bool
Whether this render object's paint information is dirty. [...]
read-only, inherited
debugSemantics SemanticsNode
The semantics of this render object. [...]
read-only, inherited
depth int
The depth of this node in the tree. [...]
read-only, inherited
firstChild RenderBox
The first child in the child list.
read-only, inherited
geometry SliverGeometry
The amount of space this sliver occupies. [...]
read / write, inherited
hashCode int
The hash code for this object. [...]
read-only, inherited
isRepaintBoundary bool
Whether this render object repaints separately from its parent. [...]
read-only, inherited
lastChild RenderBox
The last child in the child list.
read-only, inherited
layer OffsetLayer
The compositing layer that this render object uses to repaint. [...]
read-only, inherited
needsCompositing bool
Whether we or one of our descendants has a compositing layer. [...]
read-only, inherited
owner PipelineOwner
The owner for this node (null if unattached). [...]
read-only, inherited
paintBounds Rect
An estimate of the bounds within which this render object will paint. Useful for debugging flags such as debugPaintLayerBordersEnabled.
read-only, inherited
parent AbstractNode
The parent of this node in the tree.
read-only, inherited
parentData ParentData
Data for use by the parent render object. [...]
read / write, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
semanticBounds Rect
The bounding box, in the local coordinate system, of this object, for accessibility purposes.
read-only, inherited
sizedByParent bool
Whether the constraints are the only input to the sizing algorithm (in particular, child nodes have no impact). [...]
@protected, read-only, inherited

Methods

estimateMaxScrollOffset(SliverConstraints constraints, { int firstIndex, int lastIndex, double leadingScrollOffset, double trailingScrollOffset }) double
Called to estimate the total scrollable extents of this object. [...]
getMaxChildIndexForScrollOffset(double scrollOffset, double itemExtent) int
The maximum child index that is visible at the given scroll offset. [...]
getMinChildIndexForScrollOffset(double scrollOffset, double itemExtent) int
The minimum child index that is visible at the given scroll offset. [...]
indexToLayoutOffset(double itemExtent, int index) double
The layout offset for the child with the given index. [...]
add(RenderBox child) → void
Append child to the end of this render object's child list.
inherited
addAll(List<RenderBox> children) → void
Add all the children to the end of this render object's child list.
inherited
addInitialChild({int index: 0, double layoutOffset: 0.0 }) bool
Called during layout to create and add the child with the given index and scroll offset. [...]
@protected, inherited
adoptChild(RenderObject child) → void
Called by subclasses when they decide a render object is a child. [...]
inherited
applyPaintTransform(RenderObject child, Matrix4 transform) → void
inherited
applyPaintTransformForBoxChild(RenderBox child, Matrix4 transform) → void
Utility function for applyPaintTransform for use when the children are RenderBox widgets. [...]
@protected, inherited
assembleSemanticsNode(SemanticsNode node, SemanticsConfiguration config, Iterable<SemanticsNode> children) → void
Assemble the SemanticsNode for this RenderObject. [...]
inherited
attach(PipelineOwner owner) → void
inherited
calculatePaintOffset(SliverConstraints constraints, { double from, double to }) double
Computes the portion of the region from from to to that is visible, assuming that only the region from the SliverConstraints.scrollOffset that is SliverConstraints.remainingPaintExtent high is visible, and that the relationship between scroll offsets and paint offsets is linear. [...]
inherited
childAfter(RenderBox child) RenderBox
The next child after the given child in the child list.
inherited
childBefore(RenderBox child) RenderBox
The previous child before the given child in the child list.
inherited
childCrossAxisPosition(RenderObject child) double
Returns the distance along the cross axis from the zero of the cross axis in this sliver's paint coordinate space to the nearest side of the given child. [...]
@protected, inherited
childMainAxisPosition(RenderBox child) double
Returns the distance from the leading visible edge of the sliver to the side of the given child closest to that edge. [...]
inherited
childScrollOffset(RenderObject child) double
Returns the scroll offset for the leading edge of the given child. [...]
inherited
clearSemantics() → void
Removes all semantics from this render object and its descendants. [...]
@mustCallSuper, inherited
collectGarbage(int leadingGarbage, int trailingGarbage) → void
Called after layout with the number of children that can be garbage collected at the head and tail of the child list. [...]
@protected, inherited
computeMaxScrollOffset(SliverConstraints constraints, double itemExtent) double
Called to obtain a precise measure of the total scrollable extents of this object. [...]
@protected, inherited
debugAssertChildListIsNonEmptyAndContiguous() bool
Asserts that the reified child list is not empty and has a contiguous sequence of indices. [...]
inherited
debugAssertDoesMeetConstraints() → void
Verify that the object's constraints are being met. Override this function in a subclass to verify that your state matches the constraints object. This function is only called in checked mode and only when needsLayout is false. If the constraints are not met, it should assert or throw an exception.
inherited
debugDescribeChildren() List<DiagnosticsNode>
inherited
debugFillProperties(DiagnosticPropertiesBuilder description) → void
inherited
debugPaint(PaintingContext context, Offset offset) → void
Override this method to paint debugging information.
inherited
debugRegisterRepaintBoundaryPaint({bool includedParent: true, bool includedChild: false }) → void
Called, in checked mode, if isRepaintBoundary is true, when either the this render object or its parent attempt to paint. [...]
inherited
debugResetSize() → void
If a subclass has a "size" (the state controlled by parentUsesSize, whatever it is in the subclass, e.g. the actual size property of RenderBox), and the subclass verifies that in checked mode this "size" property isn't used when debugCanParentUseSize isn't set, then that subclass should override debugResetSize to reapply the current values of debugCanParentUseSize to that state.
inherited
debugValidateChild(RenderObject child) bool
Checks whether the given render object has the correct runtimeType to be a child of this render object. [...]
inherited
describeApproximatePaintClip(RenderObject child) Rect
Returns a rect in this object's coordinate system that describes the approximate bounding box of the clip rect that would be applied to the given child during the paint phase, if any. [...]
inherited
describeSemanticsConfiguration(SemanticsConfiguration config) → void
Report the semantics of this node, for example for accessibility purposes. [...]
@protected, inherited
detach() → void
inherited
dropChild(RenderObject child) → void
Called by subclasses when they decide a render object is no longer a child. [...]
inherited
getAbsoluteSizeRelativeToOrigin() Size
This returns a Size with dimensions relative to the leading edge of the sliver, specifically the same offset that is given to the paint method. This means that the dimensions may be negative. [...]
@protected, inherited
getTransformTo(RenderObject ancestor) Matrix4
Applies the paint transform up the tree to ancestor. [...]
inherited
handleEvent(PointerEvent event, SliverHitTestEntry entry) → void
Override this method to handle pointer events that hit this render object.
inherited
hitTest(HitTestResult result, { double mainAxisPosition, double crossAxisPosition }) bool
Determines the set of render objects located at the given position. [...]
inherited
hitTestBoxChild(HitTestResult result, RenderBox child, { double mainAxisPosition, double crossAxisPosition }) bool
Utility function for hitTestChildren for use when the children are RenderBox widgets. [...]
@protected, inherited
hitTestChildren(HitTestResult result, { double mainAxisPosition, double crossAxisPosition }) bool
Override this method to check whether any children are located at the given position. [...]
inherited
hitTestSelf({double mainAxisPosition, double crossAxisPosition }) bool
Override this method if this render object can be hit even if its children were not hit. [...]
@protected, inherited
indexOf(RenderBox child) int
Returns the index of the given child, as given by the SliverMultiBoxAdaptorParentData.index field of the child's parentData.
inherited
insert(RenderBox child, { RenderBox after }) → void
Insert child into this render object's child list after the given child. [...]
inherited
insertAndLayoutChild(BoxConstraints childConstraints, { RenderBox after, bool parentUsesSize: false }) RenderBox
Called during layout to create, add, and layout the child after the given child. [...]
@protected, inherited
insertAndLayoutLeadingChild(BoxConstraints childConstraints, { bool parentUsesSize: false }) RenderBox
Called during layout to create, add, and layout the child before firstChild. [...]
@protected, inherited
invokeLayoutCallback<T extends Constraints>(LayoutCallback<T> callback) → void
Allows mutations to be made to this object's child list (and any descendants) as well as to any other dirty nodes in the render tree owned by the same PipelineOwner as this object. The callback argument is invoked synchronously, and the mutations are allowed only during that callback's execution. [...]
@protected, inherited
layout(Constraints constraints, { bool parentUsesSize: false }) → void
Compute the layout for this render object. [...]
inherited
markNeedsCompositingBitsUpdate() → void
Mark the compositing state for this render object as dirty. [...]
inherited
markNeedsLayout() → void
Mark this render object's layout information as dirty, and either register this object with its PipelineOwner, or defer to the parent, depending on whether this object is a relayout boundary or not respectively. [...]
inherited
markNeedsLayoutForSizedByParentChange() → void
Mark this render object's layout information as dirty (like markNeedsLayout), and additionally also handle any necessary work to handle the case where sizedByParent has changed value. [...]
inherited
markNeedsPaint() → void
Mark this render object as having changed its visual appearance. [...]
inherited
markNeedsSemanticsUpdate() → void
Mark this node as needing an update to its semantics description. [...]
inherited
markParentNeedsLayout() → void
Mark this render object's layout information as dirty, and then defer to the parent. [...]
@protected, inherited
move(RenderBox child, { RenderBox after }) → void
Move this child in the child list to be before the given child. [...]
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
paint(PaintingContext context, Offset offset) → void
Paint this render object into the given context at the given offset. [...]
inherited
paintExtentOf(RenderBox child) double
Returns the dimension of the given child in the main axis, as given by the child's RenderBox.size property. This is only valid after layout.
@protected, inherited
performLayout() → void
Do the work of computing the layout for this render object. [...]
inherited
performResize() → void
Updates the render objects size using only the constraints. [...]
inherited
reassemble() → void
Cause the entire subtree rooted at the given RenderObject to be marked dirty for layout, paint, etc, so that the effects of a hot reload can be seen, or so that the effect of changing a global debug flag (such as debugPaintSizeEnabled) can be applied. [...]
inherited
redepthChild(AbstractNode child) → void
Adjust the depth of the given child to be greater than this node's own depth. [...]
@protected, inherited
redepthChildren() → void
inherited
remove(RenderBox child) → void
Remove this child from the child list. [...]
inherited
removeAll() → void
Remove all their children from this render object's child list. [...]
inherited
replaceRootLayer(OffsetLayer rootLayer) → void
Replace the layer. This is only valid for the root of a render object subtree (whatever object scheduleInitialPaint was called on). [...]
inherited
rotate({int oldAngle, int newAngle, Duration time }) → void
Rotate this render object (not yet implemented).
inherited
scheduleInitialLayout() → void
Bootstrap the rendering pipeline by scheduling the very first layout. [...]
inherited
scheduleInitialPaint(ContainerLayer rootLayer) → void
Bootstrap the rendering pipeline by scheduling the very first paint. [...]
inherited
scheduleInitialSemantics() → void
Bootstrap the semantics reporting mechanism by marking this node as needing a semantics update. [...]
inherited
setupParentData(RenderObject child) → void
Override to setup parent data correctly for your children. [...]
inherited
showOnScreen([RenderObject child ]) → void
Attempt to make this or a descendant RenderObject visible on screen. [...]
inherited
toDiagnosticsNode({String name, DiagnosticsTreeStyle style }) DiagnosticsNode
inherited
toString({DiagnosticLevel minLevel }) String
inherited
toStringDeep({String prefixLineOne: '', String prefixOtherLines: '', DiagnosticLevel minLevel: DiagnosticLevel.debug }) String
Returns a description of the tree rooted at this node. If the prefix argument is provided, then every line in the output will be prefixed by that string.
inherited
toStringShallow({String joiner: '; ', DiagnosticLevel minLevel: DiagnosticLevel.debug }) String
Returns a one-line detailed description of the render object. This description is often somewhat long. [...]
inherited
toStringShort() String
Returns a human understandable name.
inherited
visitChildren(RenderObjectVisitor visitor) → void
inherited
visitChildrenForSemantics(RenderObjectVisitor visitor) → void
Called when collecting the semantics of this node. [...]
inherited

Operators

operator ==(other) bool
The equality operator. [...]
inherited