PopupMenuItem<T> class
An item in a Material Design popup menu.
To show a popup menu, use the showMenu function. To create a button that shows a popup menu, consider using PopupMenuButton.
To show a checkmark next to a popup menu item, consider using CheckedPopupMenuItem.
Typically the child of a PopupMenuItem is a Text widget. More elaborate menus with icons can use a ListTile. By default, a PopupMenuItem is kMinInteractiveDimension pixels high. If you use a widget with a different height, it must be specified in the height property.
Menu
type
is an enum, not shown here.
const PopupMenuItem<Menu>(
value: Menu.itemOne,
child: Text('Item 1'),
)
See the example at PopupMenuButton for how this example could be used in a complete menu, and see the example at CheckedPopupMenuItem for one way to keep the text of PopupMenuItems that use Text widgets in their child slot aligned with the text of CheckedPopupMenuItems or of PopupMenuItem that use a ListTile in their child slot.
See also:
- PopupMenuDivider, which can be used to divide items from each other.
- CheckedPopupMenuItem, a variant of PopupMenuItem with a checkmark.
- showMenu, a method to dynamically show a popup menu at a given location.
- PopupMenuButton, an IconButton that automatically shows a menu when it is tapped.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- PopupMenuEntry<
T> - PopupMenuItem
- Implementers
Constructors
-
PopupMenuItem({Key? key, T? value, VoidCallback? onTap, bool enabled = true, double height = kMinInteractiveDimension, EdgeInsets? padding, TextStyle? textStyle, MaterialStateProperty<
TextStyle?> ? labelTextStyle, MouseCursor? mouseCursor, required Widget? child}) -
Creates an item for a popup menu.
const
Properties
- child → Widget?
-
The widget below this widget in the tree.
final
- enabled → bool
-
Whether the user is permitted to select this item.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- height → double
-
The minimum height of the menu item.
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
-
labelTextStyle
→ MaterialStateProperty<
TextStyle?> ? -
The label style of the popup menu item.
final
- mouseCursor → MouseCursor?
-
The cursor for a mouse pointer when it enters or is hovering over the
widget.
final
- onTap → VoidCallback?
-
Called when the menu item is tapped.
final
- padding → EdgeInsets?
-
The padding of the menu item.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- textStyle → TextStyle?
-
The text style of the popup menu item.
final
- value → T?
-
The value that will be returned by showMenu if this entry is selected.
final
Methods
-
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → PopupMenuItemState< T, PopupMenuItem< T> > -
Creates the mutable state for this widget at a given location in the tree.
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.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
represents(
T? value) → bool -
Whether this entry represents a particular value.
override
-
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