CupertinoPopupSurface class Null safety

Rounded rectangle surface that looks like an iOS popup surface, e.g., alert dialog and action sheet.

A CupertinoPopupSurface can be configured to paint or not paint a white color on top of its blurred area. Typical usage should paint white on top of the blur. However, the white paint can be disabled for the purpose of rendering divider gaps for a more complicated layout, e.g., CupertinoAlertDialog. Additionally, the white paint can be disabled to render a blurred rounded rectangle without any color (similar to iOS's volume control popup).

See also:



CupertinoPopupSurface({Key? key, bool isSurfacePainted = true, Widget? child})
Creates an iOS-style rounded rectangle popup surface.


child Widget?
The widget below this widget in the tree.
hashCode int
The hash code for this object.
@nonVirtual, read-only, inherited
isSurfacePainted bool
Whether or not to paint a translucent white on top of this surface's blurred background. isSurfacePainted should be true for a typical popup that contains content without any dividers. A popup that requires dividers should set isSurfacePainted to false and then paint its own surface area.
key Key?
Controls how one widget replaces another widget in the tree.
final, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited


build(BuildContext context) Widget
Describes the part of the user interface represented by this widget.
createElement() StatelessElement
Creates a StatelessElement to manage this widget's location in the tree.
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
@protected, inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed.
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
toString({DiagnosticLevel minLevel =}) String
A string representation of this object.
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a string representation of this node and its descendants.
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
toStringShort() String
A short, textual description of this widget.


operator ==(Object other) bool
The equality operator.
@nonVirtual, inherited