CloseButton class

A Material Design close icon button.

A CloseButton is an IconButton with a "close" icon. When pressed, the close button calls Navigator.maybePop to return to the previous route.

The onPressed callback can, for instance, be used to pop the platform's navigation stack via SystemNavigator instead of Flutter's Navigator in add-to-app situations.

In Material Design 3, both style's ButtonStyle.iconColor and color are used to override the default icon color of CloseButton. If both exist, the ButtonStyle.iconColor will override color for states where ButtonStyle.foregroundColor resolves to non-null.

Use a CloseButton instead of a BackButton on fullscreen dialogs or pages that may solicit additional actions to close.

See also:

  • AppBar, which automatically uses a CloseButton in its AppBar.leading slot when appropriate.
  • BackButton, which is more appropriate for middle nodes in the navigation tree or where pages can be popped instantaneously with no user data consequence.
  • IconButton, to create other Material Design icon buttons.
Inheritance

Constructors

CloseButton({Key? key, Color? color, VoidCallback? onPressed, ButtonStyle? style})
Creates a Material Design close icon button.
const

Properties

color Color?
The color to use for the icon.
finalinherited
hashCode int
The hash code for this object.
no setterinherited
icon Widget
The icon to display inside the button.
finalinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
onPressed VoidCallback?
The callback that is called when the button is tapped or otherwise activated.
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
style ButtonStyle?
Customizes this icon button's appearance.
finalinherited

Methods

build(BuildContext context) Widget
Describes the part of the user interface represented by this widget.
inherited
createElement() StatelessElement
Creates a StatelessElement to manage this widget's location in the tree.
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