DecoratedSliver class
A sliver widget that paints a Decoration either before or after its child paints.
Unlike DecoratedBox, this widget expects its child to be a sliver, and must be placed in a widget that expects a sliver.
If the child sliver has infinite SliverGeometry.scrollExtent, then we only draw the decoration down to the bottom SliverGeometry.cacheExtent, and it is necessary to ensure that the bottom border does not creep above the top of the bottom cache. This can happen if the bottom has a border radius larger than the extent of the cache area.
Commonly used with BoxDecoration.
The child is not clipped. To clip a child to the shape of a particular ShapeDecoration, consider using a ClipPath widget.
To create a local project with this code sample, run:
flutter create --sample=widgets.DecoratedSliver.1 mysample
See also:
- DecoratedBox, the version of this class that works with RenderBox widgets.
- Decoration, which you can extend to provide other effects with DecoratedSliver.
- CustomPaint, another way to draw custom effects from the widget layer.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- RenderObjectWidget
- SingleChildRenderObjectWidget
- DecoratedSliver
Constructors
- DecoratedSliver({Key? key, required Decoration decoration, DecorationPosition position = DecorationPosition.background, Widget? sliver})
-
Creates a widget that paints a Decoration.
const
Properties
- child → Widget?
-
The widget below this widget in the tree.
finalinherited
- decoration → Decoration
-
What decoration to paint.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- position → DecorationPosition
-
Whether to paint the box decoration behind or in front of the child.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
createElement(
) → SingleChildRenderObjectElement -
RenderObjectWidgets always inflate to a RenderObjectElement subclass.
inherited
-
createRenderObject(
BuildContext context) → RenderDecoratedSliver -
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.
override
-
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
-
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 RenderDecoratedSliver 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