Incular logoIncular
API ReferenceDesign Systems

Material Menus

Menu anchors, bars, popup menus, and dropdowns with controllers.

MenuPurpose
MenuAnchorPopup menu on any trigger with controller
MenuBarHorizontal menu strip
MenuItemButton / SubmenuButtonItems and nested submenus
PopupMenuButtonButton showing a popup list
DropdownButton / DropdownMenuValue-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).