⌂
›
Widgets
›
PopupMenuButton
PopupMenuButton
PopupMenuButton control. Build it with the popup_menu_button helper.
Example
popup_menu_button(
content: text("PopupMenuButton"),
icon: "add",
bgcolor: :surface_container_high,
expand: true,
on_animation_end: ->(event) {}
)
Properties
bgcolor— Background color.clip_behavior— How content overflowing the bounds is clipped.content— The single child control rendered inside this control.elevation— Shadow depth (z-height).enable_feedback— Plays touch feedback (sound/haptic) on interaction.icon— Icon name shown by the control.icon_color— Color of the icon.icon_size— Sets the icon size property.items— Sets the items property.menu_padding— Menu padding.menu_position— Sets the menu position property.padding— Inner spacing between the border and the content.popup_animation_style— Popup animation style.shadow_color— Color of the drop shadow.shape— Shape/border of the control.size_constraints— Min/max size constraints.splash_radius— Splash radius.style— Style overrides for the control.
Common layout and animation properties
align— Alignment of the control within its parent.animate_align— Animates alignment changes.animate_margin— Animates margin changes.animate_offset— Animates offset changes.animate_opacity— Animates opacity changes.animate_position— Animates position changes.animate_rotation— Animates rotation changes.animate_scale— Animates scale changes.animate_size— Animates size changes.aspect_ratio— Width-to-height ratio to maintain.badge— Badge drawn on the corner of the control.bottom— Bottom offset when positioned inside a stack.col— Responsive column span (1-12) per breakpoint.data— Arbitrary value you can attach to the control and read back in handlers.disabled— Disables interaction when true.expand— Fills the available space along the parent's main axis when true.expand_loose— Like expand, but only grows up to the child's natural size.height— Fixed height in logical pixels.key— Stable identity used to preserve state across rebuilds.left— Left offset when positioned inside a stack.margin— Outer spacing around the control.offset— Translation offset applied to the control.opacity— Opacity from 0.0 (transparent) to 1.0 (opaque).right— Right offset when positioned inside a stack.rotate— Rotation applied to the control.rtl— Renders right-to-left when true.scale— Scale transform applied to the control.size_change_interval— Throttle interval for on_size_change, in ms.tooltip— Text shown on hover/long-press.top— Top offset when positioned inside a stack.visible— Hides the control when false.width— Fixed width in logical pixels.
Events
on_animation_end— Fired when an animation completes.on_cancel— Fired on cancel.on_open— Fired when the control opens.on_select— Fired when a selection is made.on_size_change— Fired when the control's size changes.
Reference
- Family:
materials - Widget type:
popupmenubutton - Helpers:
popup_menu_button,popupmenubutton