AlertDialog
In Material 3 Compose
@Composable
fun BottomAppBarWithOverflow() {
val icons =
listOf(
Icons.AutoMirrored.Filled.ArrowBack,
Icons.AutoMirrored.Filled.ArrowForward,
Icons.Filled.Add,
Icons.Filled.Check,
Icons.Filled.Edit,
Icons.Filled.Favorite,
)
val items = listOf("Back", "Forward", "Add", "Check", "Edit", "Favorite")
FlexibleBottomAppBar(
contentPadding = PaddingValues(horizontal = 96.dp),
horizontalArrangement = BottomAppBarDefaults.FlexibleFixedHorizontalArrangement,
) {
AppBarRow(
overflowIndicator = { menuState ->
TooltipBox(
positionProvider =
TooltipDefaults.rememberTooltipPositionProvider(
TooltipAnchorPosition.Above
),
tooltip = {
PlainTooltip(
modifier =
Modifier.semantics {
// TODO(b/496338253): Remove this modifier once bug where
// tooltip text
// is not announced
// by a11y screen readers is resolved.
liveRegion = LiveRegionMode.Assertive
paneTitle = "Overflow"
}
) {
Text("Overflow")
}
},
state = rememberTooltipState(),
) {
IconButton(
onClick = {
if (menuState.isShowing) {
menuState.dismiss()
} else {
menuState.show()
}
}
) {
Icon(imageVector = Icons.Filled.MoreVert, contentDescription = "Overflow")
}
}
}
) {
items.forEachIndexed { index, item ->
clickableItem(
onClick = { /* doSomething() */ },
icon = { Icon(icons[index], contentDescription = item) },
label = item,
)
}
}
}
}