Movatterモバイル変換


[0]ホーム

URL:


menu
  1. Flutter
  2. widgets.dart
  3. CustomPaint class
CustomPaint
description

CustomPaint class

A widget that provides a canvas on which to draw during the paint phase.

When asked to paint,CustomPaint first asks itspainter to paint on thecurrent canvas, then it paints its child, and then, after painting itschild, it asks itsforegroundPainter to paint. The coordinate system of thecanvas matches the coordinate system of theCustomPaint object. Thepainters are expected to paint within a rectangle starting at the origin andencompassing a region of the given size. (If the painters paint outsidethose bounds, there might be insufficient memory allocated to rasterize thepainting commands and the resulting behavior is undefined.) To enforcepainting within those bounds, consider wrapping thisCustomPaint with aClipRect widget.

Painters are implemented by subclassingCustomPainter.

Because custom paint calls its painters during paint, you cannot callsetState ormarkNeedsLayout during the callback (the layout for thisframe has already happened).

Custom painters normally size themselves to theirchild. If they do nothave a child, they attempt to size themselves to the specifiedsize, whichdefaults toSize.zero. The parentmay enforce constraints on thissize.

TheisComplex andwillChange properties are hints to the compositor'sraster cache.

This example shows how the sample custom painter shown atCustomPaintercould be used in aCustomPaint widget to display a background to sometext.
link
CustomPaint(  painter: Sky(),  child: const Center(    child: Text(      'Once upon a time...',      style: TextStyle(        fontSize: 40.0,        fontWeight: FontWeight.w900,        color: Color(0xFFFFFFFF),      ),    ),  ),)

See also:

  • CustomPainter, the class to extend when creating custom painters.
  • Canvas, the class that a custom painter uses to paint.
Inheritance

Constructors

CustomPaint({Key?key,CustomPainter?painter,CustomPainter?foregroundPainter,Sizesize =Size.zero,boolisComplex =false,boolwillChange =false,Widget?child})
Creates a widget that delegates its painting.
const

Properties

childWidget?
The widget below this widget in the tree.
finalinherited
foregroundPainterCustomPainter?
The painter that paints after the children.
final
hashCodeint
The hash code for this object.
no setterinherited
isComplexbool
Whether the painting is complex enough to benefit from caching.
final
keyKey?
Controls how one widget replaces another widget in the tree.
finalinherited
painterCustomPainter?
The painter that paints before the children.
final
runtimeTypeType
A representation of the runtime type of the object.
no setterinherited
sizeSize
The size that thisCustomPaint should aim for, given the layoutconstraints, if there is no child.
final
willChangebool
Whether the raster cache should be told that this painting is likelyto change in the next frame.
final

Methods

createElement()SingleChildRenderObjectElement
RenderObjectWidgets always inflate to aRenderObjectElement subclass.
inherited
createRenderObject(BuildContextcontext)RenderCustomPaint
Creates an instance of theRenderObject class that thisRenderObjectWidget represents, using the configuration described by thisRenderObjectWidget.
override
debugDescribeChildren()List<DiagnosticsNode>
Returns a list ofDiagnosticsNode objects describing this node'schildren.
inherited
debugFillProperties(DiagnosticPropertiesBuilderproperties)→ void
Add additional properties associated with the node.
inherited
didUnmountRenderObject(covariantRenderCustomPaintrenderObject)→ void
This method is called when a RenderObject that was previouslyassociated with this widget is removed from the render tree.The providedRenderObject will be of the same type as the one created bythis widget'screateRenderObject method.
override
noSuchMethod(Invocationinvocation)→ 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 debuggingtools and byDiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevelminLevel =DiagnosticLevel.info})String
A string representation of this object.
inherited
toStringDeep({StringprefixLineOne ='',String?prefixOtherLines,DiagnosticLevelminLevel =DiagnosticLevel.debug,intwrapWidth =65})String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({Stringjoiner =', ',DiagnosticLevelminLevel =DiagnosticLevel.debug})String
Returns a one-line detailed description of the object.
inherited
toStringShort()String
A short, textual description of this widget.
inherited
updateRenderObject(BuildContextcontext,covariantRenderCustomPaintrenderObject)→ void
Copies the configuration described by thisRenderObjectWidget to thegivenRenderObject, which will be of the same type as returned by thisobject'screateRenderObject.
override

Operators

operator ==(Objectother)bool
The equality operator.
inherited
  1. Flutter
  2. widgets
  3. CustomPaint class
widgets library

[8]ページ先頭

©2009-2025 Movatter.jp