This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.
DropdownMenu
A Jetpack Compose DropdownMenu component for displaying dropdown menus.
Expo UI DropdownMenu matches the official Jetpack Compose Menu API and displays a dropdown menu when a trigger element is pressed.


Installation
If you are installing this in an existing React Native app, make sure to install expo in your project.
Usage
Basic dropdown menu
React Native components as trigger
You can use a React Native view (such as Pressable) as the dropdown's trigger by wrapping it in RNHostView.
Long-press trigger
Jetpack Compose has no dedicated long-press menu primitive — you compose one from a combinedClickable modifier on the trigger view plus the existing controlled DropdownMenu. The menu anchors to the trigger automatically.
Rounded corners
Use cornerRadius to override the default Material3 menu shape with a custom corner radius (in dp).
API
import { DropdownMenu } from '@expo/ui/jetpack-compose';
Components
Type: React.Element<DropdownMenuProps>
Props of the DropdownMenu component.
ReactNodeThe contents of the submenu are used as an anchor for the dropdown menu. The children will be wrapped in a pressable element, which triggers opening of the dropdown menu.
numberCorner radius in dp for the dropdown menu container. Defaults to the Material3
MenuDefaults.shape corner radius.
() => voidCallback fired when the menu requests to be dismissed (e.g. tapping outside).
Must be provided when expanded is true to allow the menu to close.
Type: React.Element<DropdownMenuItemProps>
A dropdown menu item component that wraps Compose's DropdownMenuItem.
Should be used inside DropdownMenu.Items or ExposedDropdownMenu.
Type: React.Element<{
children: ReactNode
}>
Container for items displayed in the dropdown menu.
Children should be DropdownMenuItem components or other native views.