API ReferenceDesign Systems
Material Menus
Menu anchors, bars, popup menus, and dropdowns with controllers.
| Menu | Purpose |
|---|---|
MenuAnchor | Popup menu on any trigger with controller |
MenuBar | Horizontal menu strip |
MenuItemButton / SubmenuButton | Items and nested submenus |
PopupMenuButton | Button showing a popup list |
DropdownButton / DropdownMenu | Value-picker dropdowns |
use incular::material_prelude::MenuController;
fn main() {
let controller = MenuController::new();
controller.open();
println!("open: {}", controller.is_open());
controller.close();
}MenuItemButton::new(Text::new("Open")).leading_icon(icon).on_pressed(|| ) SubmenuButton::new(Text::new("More"), submenu) PopupMenuButton::new(|cx| vec![PopupMenuEntry::item(PopupMenuItem::new(Text::new("Open"))) plumbing ]) PopupMenuItem::new(Text::new("Open")).value(v).on_tap(|| ) CheckedPopupMenuItem::new(Text::new("Bold"), true) PopupMenuDivider::new() DropdownButton::new(items).value(Some(v)).hint(Text::new("Pick")).on_changed(|v| ) DropdownMenu::new(entries).on_selected(|v| ) DropdownMenuEntry::new(value, "Label")
[`MenuStyle`](/docs/api/design/material-menus) (sparse): background/shadow/tint colors, elevation, padding,
sizes, side, shape, alignment. [`PopupMenuPosition`](/docs/api/design/material-menus): `Over` (default) /
`Under`. [`DropdownMenuCloseBehavior`](/docs/api/design/material-menus): `All` (default) / `SelfOnly` / `None`.
Related: [`OverlayPortal`](/docs/api/navigation/overlay).