<div class='type'>Composable Component</div>



Menus display a list of choices on a temporary surface. They appear when users interact with a
button, action, or other control.

<img loading='lazy' class='hero-img' alt='Dropdown menu image' src='/static/images/material3/menu.png'>

<a id='references'></a>



<h2 id="dropdownmenu-expanded-ondismissrequest-modifier-offset-scrollstate-properties-shape-containercolor-tonalelevation-shadowelevation-border-content">DropdownMenu</h2>

<div class='sourceset sourceset-common'>Common</div>


```kotlin
@Composable
expect fun DropdownMenu(
    expanded: Boolean,
    onDismissRequest: () -> Unit,
    modifier: Modifier = Modifier,
    offset: DpOffset = DpOffset(0.dp, 0.dp),
    scrollState: ScrollState = rememberScrollState(),
    properties: PopupProperties = DefaultMenuProperties,
    shape: Shape = MenuDefaults.shape,
    containerColor: Color = MenuDefaults.containerColor,
    tonalElevation: Dp = MenuDefaults.TonalElevation,
    shadowElevation: Dp = MenuDefaults.ShadowElevation,
    border: BorderStroke? = null,
    content: @Composable ColumnScope.() -> Unit,
)
```


#### Parameters

| | |
| --- | --- |
| expanded | whether the menu is expanded or not |
| onDismissRequest | called when the user requests to dismiss the menu, such as by tapping outside the menu's bounds |
| modifier | `Modifier` to be applied to the menu's content |
| offset | `DpOffset` from the original position of the menu. The offset respects the `androidx.compose.ui.unit.LayoutDirection`, so the offset's x position will be added in LTR and subtracted in RTL. |
| scrollState | a `ScrollState` to used by the menu's content for items vertical scrolling |
| properties | `PopupProperties` for further customization of this popup's behavior |
| shape | the shape of the menu |
| containerColor | the container color of the menu |
| tonalElevation | when `containerColor` is `ColorScheme.surface`, a translucent primary color overlay is applied on top of the container. A higher tonal elevation value will result in a darker color in light theme and lighter color in dark theme. See also: `Surface`. |
| shadowElevation | the elevation for the shadow below the menu |
| border | the border to draw around the container of the menu. Pass `null` for no border. |
| content | the content of this dropdown menu, typically a `DropdownMenuItem` |






<hr class="docs-overload-divider">


<h2 id="dropdownmenu-expanded-ondismissrequest-modifier-offset-scrollstate-properties-shape-containercolor-tonalelevation-shadowelevation-border-content-2">DropdownMenu</h2>

<div class='sourceset sourceset-android'>Android</div>


```kotlin
@Composable
actual fun DropdownMenu(
    expanded: Boolean,
    onDismissRequest: () -> Unit,
    modifier: Modifier,
    offset: DpOffset,
    scrollState: ScrollState,
    properties: PopupProperties,
    shape: Shape,
    containerColor: Color,
    tonalElevation: Dp,
    shadowElevation: Dp,
    border: BorderStroke?,
    content: @Composable ColumnScope.() -> Unit,
)
```


<div class='sourceset sourceset-android'>Android</div>


> **Deprecated** Maintained for binary compatibility. Use overload with parameters for shape, color, elevation, and border.



<hr class="docs-overload-divider">


<h2 id="dropdownmenu-expanded-ondismissrequest-modifier-offset-scrollstate-properties-content">DropdownMenu</h2>

```kotlin
@Composable
@SuppressLint("ComposableNaming")
fun DropdownMenu(
    expanded: Boolean,
    onDismissRequest: () -> Unit,
    modifier: Modifier = Modifier,
    offset: DpOffset = DpOffset(0.dp, 0.dp),
    scrollState: ScrollState = rememberScrollState(),
    properties: PopupProperties = PopupProperties(focusable = true),
    content: @Composable ColumnScope.() -> Unit,
) =
    DropdownMenu(
        expanded = expanded,
        onDismissRequest = onDismissRequest,
        modifier = modifier,
        offset = offset,
        scrollState = scrollState,
        properties = properties,
        shape = MenuDefaults.shape,
        containerColor = MenuDefaults.containerColor,
        tonalElevation = MenuDefaults.TonalElevation,
        shadowElevation = MenuDefaults.ShadowElevation,
        border = null,
        content = content,
    )
```


<div class='sourceset sourceset-android'>Android</div>


> **Deprecated** Replaced by a DropdownMenu function with a ScrollState parameter



<hr class="docs-overload-divider">


<h2 id="dropdownmenu-expanded-ondismissrequest-modifier-offset-properties-content">DropdownMenu</h2>

```kotlin
@Composable
@SuppressLint("ComposableNaming")
fun DropdownMenu(
    expanded: Boolean,
    onDismissRequest: () -> Unit,
    modifier: Modifier = Modifier,
    offset: DpOffset = DpOffset(0.dp, 0.dp),
    properties: PopupProperties = PopupProperties(focusable = true),
    content: @Composable ColumnScope.() -> Unit,
) =
    DropdownMenu(
        expanded = expanded,
        onDismissRequest = onDismissRequest,
        modifier = modifier,
        offset = offset,
        scrollState = rememberScrollState(),
        properties = properties,
        content = content,
    )
```