Bottom app bar

Puts the most important actions of a screen within thumb reach.

When to use

A bottom app bar holds up to four actions and optionally a FAB. The flexible variant lets you arrange any content with an arrangement, which suits custom action sets.

For many floating actions that do not need a full width bar, use the floating toolbar instead.

Playground

The interactive page has a playground with live property controls for this component and generated code.

Examples

With FAB

BottomAppBar(
    actions = {
        IconButton(onClick = {}) { Icon(Icons.Rounded.Check, contentDescription = "Mark done") }
        IconButton(onClick = {}) { Icon(Icons.Rounded.Edit, contentDescription = "Edit") }
    },
    floatingActionButton = {
        FloatingActionButton(onClick = {}) { Icon(Icons.Rounded.Add, contentDescription = "Add") }
    },
)

Flexible

Free arrangement of actions.

FlexibleBottomAppBar {
    IconButton(onClick = {}) { Icon(Icons.Rounded.Check, contentDescription = "Mark done") }
    IconButton(onClick = {}) { Icon(Icons.Rounded.Edit, contentDescription = "Edit") }
    IconButton(onClick = {}) { Icon(Icons.Rounded.Mic, contentDescription = "Record") }
    IconButton(onClick = {}) { Icon(Icons.Rounded.Delete, contentDescription = "Delete") }
}

Parameters

NameTypeDefaultDescription
actions@Composable RowScope.() -> UnitIcon buttons shown at the start.
floatingActionButton@Composable (() -> Unit)?nullOptional FAB at the end.
horizontalArrangementArrangement.HorizontalFlexibleHorizontalArrangementFlexible bar only.

Guidelines

Do:

Don't:

Accessibility

Related components