ClipRectModifier class
A widget that clips its child using a rectangle.
By default, ClipRect prevents its child from painting outside its bounds, but the size and location of the clip rect can be customized using a custom clipper.
ClipRect is commonly used with these widgets, which commonly paint outside their bounds:
- CustomPaint
- CustomSingleChildLayout
- CustomMultiChildLayout
- Align and Center (e.g., if Align.widthFactor or Align.heightFactor is less than 1.0).
- OverflowBox
- SizedOverflowBox
{@tool snippet}
For example, by combining a ClipRect with an Align, one can show just the top half of an Image:
ClipRect(
child: Align(
alignment: Alignment.topCenter,
heightFactor: 0.5,
child: Image.network(userAvatarUrl),
),
)
{@end-tool}
See also:
- CustomClipper, for information about creating custom clips.
- ClipRRect, for a clip with rounded corners.
- ClipOval, for an elliptical clip.
- ClipPath, for an arbitrarily shaped clip.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatelessWidget
- SingleChildStatelessModifier
- ClipRectModifier
- Available extensions
Constructors
-
ClipRectModifier({Key? key, Widget? child, Key? modifierKey, CustomClipper<
Rect> ? clipper, Clip clipBehavior = Clip.hardEdge}) -
Creates a rectangular clip.
const
Properties
- clipBehavior → Clip
-
Controls how to clip.
final
-
clipper
→ CustomClipper<
Rect> ? -
If non-null, determines which clip to use.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- modifierKey → Key?
-
The actual key of the widget, which Modifier wrapped
finalinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
build(
BuildContext context) → Widget -
Describes the part of the user interface represented by this widget.
inherited
-
buildWithChild(
BuildContext context, Widget? child) → Widget -
A build method that receives an extra
child
parameter.override -
createElement(
) → SingleChildStatelessElement -
Create a SingleChildStatelessElement
inherited
-
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
-
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
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited