A menu is a temporary piece of material that appears upon interaction with a button, action, pointer, or other control. It contains at least two menu items.
Each menu item consists of a discrete option or action that can affect the app, the view, or selected elements within a view.
Menus should not be used as a primary method for navigation within an app.
The label of a button or control should concisely and accurately reflect the items within the menu. Menu bars typically use single words as labels, like “file,” “format,” and “edit.” Other contexts may require longer labels.
Disabled menu options
Menus display a consistent set of menu items. A menu item may be enabled or disabled based on the current state of the application.
Contextual menus dynamically change their available menu items based on the current state of the application.
- Menu items that are irrelevant to the current context may be removed.
- Menu items which are relevant but need certain conditions to be met may be disabled. For example, the Copy menu option becomes enabled when text is selected.
Single menu-item states
Some app states may result in a contextual menu with only a single menu item. For example, when highlighting text on a web page, Android display only the Copy menu item, as users cannot cut or paste text.
Menus are scrollable
If the height of a menu prevents all menu items from being displayed, the menu can scroll internally. One example is when viewing a menu on a phone in landscape orientation.
Cascading menus (Desktop only)
For menus that cascade, position the menus vertically and horizontally based on their proximity to screen edges.
Developer note: Implementations of this component may vary by platform. By using standard platform implementations, you will receive any related future improvements.