Layout automatic set padding top as 72 px android năm 2024

Build Jetpack Compose UIs with Material Design 3, the next evolution of Material Design. Material 3 includes updated theming and components and Material You personalization features like dynamic color, and is designed to be cohesive with the new Android 12 visual style and system UI.

Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

02

Material Design standard icon button.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

04

Material Design standard icon toggle button.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

06

Material Design input chip.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

08

Label component that will append a

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

09 to

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

10.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

12

Material Design large floating action button.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

14

Material Design large top app bar.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

16

Material Design tab.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

18

Indeterminate Material Design linear progress indicator.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

20

This function is deprecated. Use the overload that takes `progress` as a lambda

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

22

Determinate Material Design linear progress indicator.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

24

Material Design list item.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

26

Material Theming refers to the customization of your Material Design app to better reflect your product’s brand.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

28

Material Design medium top app bar.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

30

Material Design modal bottom sheet.

android

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

32

Content inside of a modal navigation drawer.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

34

Material Design navigation drawer.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

36

Material Segmented Button.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

38

Material Design bottom navigation bar.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

40

Material Design navigation drawer item.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

42

Material Design bottom navigation rail.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

44

Material Design navigation rail item.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

46

Material Design outlined button.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

48

Material Design outlined card.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

50

Material Design outlined card.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

52

Material Design outlined icon button.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

54

Material Design outlined icon toggle button.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

56

Material Design outlined text field.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

58

Material Design outlined text field.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

60

Content inside of a permanent navigation drawer.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

62

Material Design navigation permanent drawer.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

64

Material Design Scrollable Primary tabs

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

66

Material Design Fixed Primary tabs

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

68

This function is used to set the current value of

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

69, merging the given style with the current style values for any missing attributes.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

71

Material Design radio button.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

73

Material Design Range slider.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

75

Material Design Range slider.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

77

Material Design Range slider.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

79

Rich text tooltip that allows the user to pass in a title, text, and action.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

81

Material Design layout.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

83

Material Design tabs

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

85

Material Design search.

android

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

87

Material Design Scrollable Secondary tabs

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

89

Material Design Fixed Secondary tabs

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

91

Material Segmented Button.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

93

Material Design slider.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

95

Material Design slider.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

97

Material Design slider.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

99

Material Design small floating action button.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

01

This function is deprecated. Use TopAppBar instead.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

03

Material Design snackbar.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

05

Material Design snackbar.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

07

Host for

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

08s to be used in

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

09 to properly show, hide and dismiss items based on Material specification and the

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

10.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

12

Material Design suggestion chip.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

14

Material surface is the central metaphor in material design.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

16

Material surface is the central metaphor in material design.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

18

Material surface is the central metaphor in material design.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

20

Material surface is the central metaphor in material design.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

22

This function is deprecated. Use SwipeToDismissBox instead

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

24

A composable that can be dismissed by swiping left or right.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

26

Material Design Switch.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

28

Material Design tab.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

30

Material Design tab.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

32

Material Design tabs

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

34

High level element that displays text and provides semantics / accessibility information.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

36

High level element that displays text and provides semantics / accessibility information.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

38

Material Design text button.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

40

Material Design filled text field.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

42

Material Design filled text field.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

44

Time pickers help users select and set a specific time.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

46

Material Design time picker.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

48

Material TooltipBox that wraps a composable with a tooltip.

Cmn

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

49

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

50

Constructor extension function for

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

49

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

53

Material Design small top app bar.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

55

Material Design checkbox parent.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

57

Material Design divider.

Cmn

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

58

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

59

The Material color system contains pairs of colors that are typically used for the background and content color inside a component.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

09

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

61

Returns a dark Material color scheme.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

09

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

63

Creates a dark dynamic color scheme.

android

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

09

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

65

Creates a light dynamic color scheme.

android

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

66

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

67

Formats a UTC timestamp into a string with a given date format skeleton.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

09

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

69

Returns a light Material color scheme.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

07

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

71

Creates a

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

07 that is remembered across compositions.

Cmn

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

73

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

74

Create and

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

75 a

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

73.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

32

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

78

Creates a

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

32 for a

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

35 that is remembered across compositions.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

37

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

82

Creates a

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

37 for a

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

36 that is remembered across compositions.

Cmn

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

85

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

86

Create and

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

75 a

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

85.

Cmn

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

89

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

90

Create and

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

75 a

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

89 for

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

93.

android

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

89

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

95

Create and

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

75 a

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

89 for

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

17.

Cmn

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

99

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

00

Create and

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

75 a

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

99.

Cmn

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

03

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

04

Creates a

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

03 for a time picker that is remembered across compositions and configuration changes.

Cmn

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

49

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

07

Create and remember the default

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

49 for

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

09.

Cmn

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

10

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

11

Creates a

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

10 that is remembered across compositions.

Cmn

Extension functions summary

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

14

Material Design navigation bar item.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

16

Plain tooltip that provides a descriptive message.

Cmn

android

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

18

Material Segmented Button.

Cmn

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

87

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

20

Material Segmented Button.

Cmn

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

58

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

22

The Material color system contains pairs of colors that are typically used for the background and content color inside a component.

Cmn

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

24

Reserves at least 48.dp in size to disambiguate touch interactions if the element would measure smaller.

Cmn

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

58

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

26

Computes the surface tonal color at different elevation levels e.g. surface1 through surface5.

Cmn

Top-level properties summary

Top-level functions

AlertDialog

@ExperimentalMaterial3Api @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,androidx.compose.ui.Modifier,androidx.compose.ui.window.DialogProperties,kotlin.Function0%29][

    onDismissRequest: [] -> Unit,     modifier: Modifier = Modifier,     properties: DialogProperties = DialogProperties[],     content: @Composable [] -> Unit ]: Unit

Basic alert dialog dialog.

Dialogs provide important prompts in a user flow. They can require an action, communicate information, or help users accomplish a task.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

27 or

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

28

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23s.

Basic alert dialog usage with custom content:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

Parameters

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

30

called when the user tries to dismiss the Dialog by clicking outside or pressing the back button. This is not called when the dismiss button is clicked.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this dialog's content.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

33

typically platform specific properties to further configure the dialog.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

34

the content of the dialog

AlertDialog

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

Material Design basic dialog.

Dialogs provide important prompts in a user flow. They can require an action, communicate information, or help users accomplish a task.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

30

called when the user tries to dismiss the Dialog by clicking outside or pressing the back button. This is not called when the dismiss button is clicked.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

37

button which is meant to confirm a proposed action, thus resolving what triggered the dialog. The dialog does not set up any events for this button so they need to be set up by the caller.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this dialog

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

40

button which is meant to dismiss the dialog. The dialog does not set up any events for this button so they need to be set up by the caller.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

41

optional icon that will appear above the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

42 or above the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

43, in case a title was not provided.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

44

title which should specify the purpose of the dialog. The title is not mandatory, because there may be sufficient information inside the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

43.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

46

text which presents the details regarding the dialog's purpose.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

47

defines the shape of this dialog's container

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

48

the color used for the background of this dialog. Use

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

49 to have no color.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

50

the content color used for the icon.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

51

the content color used for the title.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

52

the content color used for the text.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

53

when

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

54 is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, 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:

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

56.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

33

typically platform specific properties to further configure the dialog.

AssistChip

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

Material Design assist chip.

Chips help people enter information, make selections, filter content, or trigger actions. Chips can show multiple interactive elements together in the same area, such as a list of selectable movie times, or a series of email contacts.

Assist chips represent smart or automated actions that can span multiple apps, such as opening a calendar event from the home screen. Assist chips function as though the user asked an assistant to complete the action. They should appear dynamically and contextually in a UI.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

called when this chip is clicked

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

60

text label for this chip

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this chip

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this chip. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

65

optional icon at the start of the chip, preceding the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

66 text

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

67

optional icon at the end of the chip

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

68

defines the shape of this chip's container, border [when

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

69 is not null], and shadow [when using

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

70]

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

71

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

72 that will be used to resolve the colors used for this chip in different states. See

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

73.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

74

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

75 used to resolve the elevation for this chip in different states. This controls the size of the shadow below the chip. Additionally, when the container color is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, this controls the amount of primary color applied as an overlay. See

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

77.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

78

the border to draw around the container of this chip. Pass

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

79 for no border. See

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

80.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this chip. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this chip in different states.

Badge

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

A badge represents dynamic information such as a number of pending requests in a navigation bar.

Badges can be icon only or contain short text.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this badge

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

89

the color used for the background of this badge

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

90

the preferred color for content inside this badge. Defaults to either the matching content color for

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

91, or to the current

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90 if

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

91 is not a color from the theme.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

94

optional content to be rendered inside this badge

BadgedBox

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

Material Design badge box.

A badge represents dynamic information such as a number of pending requests in a navigation bar.

Badges can be icon only or contain short text.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

27 or

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

28

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23s.

Basic alert dialog usage with custom content:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

Parameters

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

30

called when the user tries to dismiss the Dialog by clicking outside or pressing the back button. This is not called when the dismiss button is clicked.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this dialog's content.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

33

typically platform specific properties to further configure the dialog.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

34

the content of the dialog

BottomAppBar

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

2

Material Design bottom app bar.

A bottom app bar displays navigation and key actions at the bottom of mobile screens.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this BottomAppBar

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

07

the color used for the background of this BottomAppBar. Use

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

49 to have no color.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

90

the preferred color for content inside this BottomAppBar. Defaults to either the matching content color for

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

10, or to the current

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90 if

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

10 is not a color from the theme.

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

13

when

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

10 is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, 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:

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

56.

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

17

the padding applied to the content of this BottomAppBar

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

18

a window insets that app bar will respect.

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

19

the content of this BottomAppBar. The default layout here is a

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

20, so content inside will be placed horizontally.

BottomAppBar

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

3

Material Design bottom app bar.

A bottom app bar displays navigation and key actions at the bottom of mobile screens.

Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

23

the icon content of this BottomAppBar. The default layout here is a

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

20, so content inside will be placed horizontally.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this BottomAppBar

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

27

optional floating action button at the end of this BottomAppBar

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

07

the color used for the background of this BottomAppBar. Use

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

49 to have no color.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

90

the preferred color for content inside this BottomAppBar. Defaults to either the matching content color for

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

31, or to the current

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90 if

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

31 is not a color from the theme.

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

13

when

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

31 is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, 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:

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

56.

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

17

the padding applied to the content of this BottomAppBar

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

18

a window insets that app bar will respect.

BottomAppBar

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

6

Material Design bottom app bar.

A bottom app bar displays navigation and key actions at the bottom of mobile screens.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this BottomAppBar

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

07

the color used for the background of this BottomAppBar. Use

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

49 to have no color.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

90

the preferred color for content inside this BottomAppBar. Defaults to either the matching content color for

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

47, or to the current

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90 if

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

47 is not a color from the theme.

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

13

when

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

47 is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, 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:

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

56.

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

17

the padding applied to the content of this BottomAppBar

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

18

a window insets that app bar will respect.

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

56

a

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

57 which holds various offset values that will be applied by this bottom app bar to set up its height. A scroll behavior is designed to work in conjunction with a scrolled content to change the bottom app bar appearance as the content scrolls. See

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

58.

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

19

the content of this BottomAppBar. The default layout here is a

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

20, so content inside will be placed horizontally.

BottomAppBar

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

7

Material Design bottom app bar.

A bottom app bar displays navigation and key actions at the bottom of mobile screens.

Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

62 to customize its nested scrolling behavior when working in conjunction with a scrolling content looks like:

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

0

Also see

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

51.

Parameters

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

23

the icon content of this BottomAppBar. The default layout here is a

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

20, so content inside will be placed horizontally.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this BottomAppBar

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

27

optional floating action button at the end of this BottomAppBar

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

07

the color used for the background of this BottomAppBar. Use

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

49 to have no color.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

90

the preferred color for content inside this BottomAppBar. Defaults to either the matching content color for

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

72, or to the current

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90 if

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

72 is not a color from the theme.

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

13

when

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

72 is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, 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:

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

56.

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

17

the padding applied to the content of this BottomAppBar

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

18

a window insets that app bar will respect.

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

56

a

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

57 which holds various offset values that will be applied by this bottom app bar to set up its height. A scroll behavior is designed to work in conjunction with a scrolled content to change the bottom app bar appearance as the content scrolls. See

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

58.

BottomSheetScaffold

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

1

Material Design standard bottom sheet scaffold.

Standard bottom sheets co-exist with the screen’s main UI region and allow for simultaneously viewing and interacting with both regions. They are commonly used to keep a feature or secondary content visible on screen when content in main UI region is frequently scrolled or panned.

Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

2

Parameters

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

84

the content of the bottom sheet

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this scaffold

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

87

the state of the bottom sheet scaffold

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

88

the height of the bottom sheet when it is collapsed

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

89

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

90 that defines what the maximum width the sheet will take. Pass in

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

91 for a sheet that spans the entire screen width.

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

92

the shape of the bottom sheet

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

93

the background color of the bottom sheet

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

94

the preferred content color provided by the bottom sheet to its children. Defaults to the matching content color for

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

95, or if that is not a color from the theme, this will keep the same content color set above the bottom sheet.

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

96

the tonal elevation of the bottom sheet

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

97

the shadow elevation of the bottom sheet

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

98

optional visual marker to pull the scaffold's bottom sheet

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

99

whether the sheet swiping is enabled and should react to the user's input

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

00

top app bar of the screen, typically a

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

01

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

02

component to host

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

08s that are pushed to be shown via

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

04, typically a

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

05

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

06

the color used for the background of this scaffold. Use

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

49 to have no color.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

90

the preferred color for content inside this scaffold. Defaults to either the matching content color for

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

09, or to the current

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90 if

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

09 is not a color from the theme.

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

12

content of the screen. The lambda receives a

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

13 that should be applied to the content root via Modifier.padding and Modifier.consumeWindowInsets to properly offset top and bottom bars. If using Modifier.verticalScroll, apply this modifier to the child of the scroll, and not on the scroll itself.

Button

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

3

Material Design button.

Buttons help people initiate actions, from sending an email, to sharing a document, to liking a post.

Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

4

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

5

Choose the best button for an action based on the amount of emphasis it needs. The more important an action is, the higher emphasis its button should be.

  • See import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {
    AlertDialog[  
        onDismissRequest = {  
            // Dismiss the dialog when the user clicks outside the dialog or on the back  
            // button. If you want to disable that functionality, simply use an empty  
            // onDismissRequest.  
            openDialog.value = false  
        },  
        title = {  
            Text[text = "Title"]  
        },  
        text = {  
            Text[text = "Turned on by default"]  
        },  
        confirmButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Confirm"]  
            }  
        },  
        dismissButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Dismiss"]  
            }  
        }  
    ]  
    
    } 21 for a medium-emphasis button with a border.
  • See import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {
    AlertDialog[  
        onDismissRequest = {  
            // Dismiss the dialog when the user clicks outside the dialog or on the back  
            // button. If you want to disable that functionality, simply use an empty  
            // onDismissRequest.  
            openDialog.value = false  
        },  
        title = {  
            Text[text = "Title"]  
        },  
        text = {  
            Text[text = "Turned on by default"]  
        },  
        confirmButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Confirm"]  
            }  
        },  
        dismissButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Dismiss"]  
            }  
        }  
    ]  
    
    } 19 for an import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {
    AlertDialog[  
        onDismissRequest = {  
            // Dismiss the dialog when the user clicks outside the dialog or on the back  
            // button. If you want to disable that functionality, simply use an empty  
            // onDismissRequest.  
            openDialog.value = false  
        },  
        title = {  
            Text[text = "Title"]  
        },  
        text = {  
            Text[text = "Turned on by default"]  
        },  
        confirmButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Confirm"]  
            }  
        },  
        dismissButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Dismiss"]  
            }  
        }  
    ]  
    
    } 21 with a shadow.
  • See import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {
    AlertDialog[  
        onDismissRequest = {  
            // Dismiss the dialog when the user clicks outside the dialog or on the back  
            // button. If you want to disable that functionality, simply use an empty  
            // onDismissRequest.  
            openDialog.value = false  
        },  
        title = {  
            Text[text = "Title"]  
        },  
        text = {  
            Text[text = "Turned on by default"]  
        },  
        confirmButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Confirm"]  
            }  
        },  
        dismissButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Dismiss"]  
            }  
        }  
    ]  
    
    } 22 for a low-emphasis button with no border.
  • See import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {
    AlertDialog[  
        onDismissRequest = {  
            // Dismiss the dialog when the user clicks outside the dialog or on the back  
            // button. If you want to disable that functionality, simply use an empty  
            // onDismissRequest.  
            openDialog.value = false  
        },  
        title = {  
            Text[text = "Title"]  
        },  
        text = {  
            Text[text = "Turned on by default"]  
        },  
        confirmButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Confirm"]  
            }  
        },  
        dismissButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Dismiss"]  
            }  
        }  
    ]  
    
    } 20 for a middle ground between import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {
    AlertDialog[  
        onDismissRequest = {  
            // Dismiss the dialog when the user clicks outside the dialog or on the back  
            // button. If you want to disable that functionality, simply use an empty  
            // onDismissRequest.  
            openDialog.value = false  
        },  
        title = {  
            Text[text = "Title"]  
        },  
        text = {  
            Text[text = "Turned on by default"]  
        },  
        confirmButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Confirm"]  
            }  
        },  
        dismissButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Dismiss"]  
            }  
        }  
    ]  
    
    } 21 and import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {
    AlertDialog[  
        onDismissRequest = {  
            // Dismiss the dialog when the user clicks outside the dialog or on the back  
            // button. If you want to disable that functionality, simply use an empty  
            // onDismissRequest.  
            openDialog.value = false  
        },  
        title = {  
            Text[text = "Title"]  
        },  
        text = {  
            Text[text = "Turned on by default"]  
        },  
        confirmButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Confirm"]  
            }  
        },  
        dismissButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Dismiss"]  
            }  
        }  
    ]  
    
    } 18.

The default text style for internal

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

22 components will be set to

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

23.

Parameters

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

called when this button is clicked

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this button

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this button. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

29

defines the shape of this button's container, border [when

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

30 is not null], and shadow [when using

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

31]

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

32

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

33 that will be used to resolve the colors for this button in different states. See

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

34.

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

35

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

36 used to resolve the elevation for this button in different states. This controls the size of the shadow below the button. Additionally, when the container color is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, this controls the amount of primary color applied as an overlay. See

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

38 and

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

39.

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

40

the border to draw around the container of this button

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

41

the spacing values to apply internally between the container and the content

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this button. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this button in different states.

Card

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

6

Material Design filled card.

Cards contain contain content and actions that relate information about a subject. Filled cards provide subtle separation from the background. This has less emphasis than elevated or outlined cards.

This Card does not handle input events - see the other Card overloads if you want a clickable or selectable Card.

Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

7

Parameters

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this card

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

49

defines the shape of this card's container, border [when

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

50 is not null], and shadow [when using

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

51]

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

52

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

53 that will be used to resolve the colors used for this card in different states. See

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

54.

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

55

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

56 used to resolve the elevation for this card in different states. This controls the size of the shadow below the card. Additionally, when the container color is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, this controls the amount of primary color applied as an overlay. See also:

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

56.

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

40

the border to draw around the container of this card

Card

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

8

Material Design filled card.

Cards contain contain content and actions that relate information about a subject. Filled cards provide subtle separation from the background. This has less emphasis than elevated or outlined cards.

This Card handles click events, calling its

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

60 lambda.

Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

9

Parameters

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

called when this card is clicked

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this card

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this card. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

49

defines the shape of this card's container, border [when

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

67 is not null], and shadow [when using

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

68]

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

52

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

53 that will be used to resolve the color[s] used for this card in different states. See

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

54.

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

55

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

56 used to resolve the elevation for this card in different states. This controls the size of the shadow below the card. Additionally, when the container color is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, this controls the amount of primary color applied as an overlay. See also:

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

56.

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

40

the border to draw around the container of this card

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this card. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this card in different states.

CenterAlignedTopAppBar

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

0

Material Design center-aligned small top app bar.

Top app bars display information and actions at the top of a screen.

This small top app bar has a header title that is horizontally aligned to the center.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

79, then this checkbox will not be interactable, unless something else handles its input events and updates its state.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this checkbox

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this checkbox. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

90

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

91 that will be used to resolve the colors used for this checkbox in different states. See

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

92.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this checkbox. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this checkbox in different states.

CircularProgressIndicator

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

5

Indeterminate Material Design circular progress indicator.

Progress indicators express an unspecified wait time or display the duration of a process.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this progress indicator

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

000

color of this progress indicator

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

001

stroke width of this progress indicator

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

002

color of the track behind the indicator, visible when the progress has not reached the area of the overall indicator yet

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

003

stroke cap to use for the ends of this progress indicator

CircularProgressIndicator

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

7

CircularProgressIndicator

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

8

Determinate Material Design circular progress indicator.

Progress indicators express an unspecified wait time or display the duration of a process.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this progress indicator

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

000

color of this progress indicator

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

001

stroke width of this progress indicator

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

002

color of the track behind the indicator, visible when the progress has not reached the area of the overall indicator yet

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

013

stroke cap to use for the ends of this progress indicator

DatePicker

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

0

Material Design date picker.

Date pickers let people select a date and preferably should be embedded into Dialogs. See DatePickerDialog.

By default, a date picker lets you pick a date via a calendar UI. However, it also allows switching into a date input mode for a manual entry of dates using the numbers on a keyboard.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this date picker

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

019

a

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

020 that provides formatting skeletons for dates display

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

021

the title to be displayed in the date picker

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

022

the headline to be displayed in the date picker

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

023

indicates if this DatePicker should show a mode toggle action that transforms it into a date input

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

024

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

025 that will be used to resolve the colors used for this date picker in different states. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

026.

DatePickerDialog

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

4

Material Design date picker dialog.

A dialog for displaying a

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

35. Date pickers let people select a date.

A sample for displaying a

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

35 in a dialog:

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

5

Parameters

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

30

called when the user tries to dismiss the Dialog by clicking outside or pressing the back button. This is not called when the dismiss button is clicked.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

37

button which is meant to confirm a proposed action, thus resolving what triggered the dialog. The dialog does not set up any events for this button, nor does it control its enablement, so those need to be set up by the caller.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this dialog's content.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

40

button which is meant to dismiss the dialog. The dialog does not set up any events for this button so they need to be set up by the caller.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

034

defines the dialog's surface shape as well its shadow

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

035

when

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

036 is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, a higher the elevation will result in a darker color in light theme and lighter color in dark theme

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

024

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

025 that will be used to resolve the colors used for this date picker in different states. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

026.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

041

typically platform specific properties to further configure the dialog

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

042

the content of the dialog [i.e. a

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

35, for example]

DatePickerState

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

6

Creates a

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

32.

Note that in most cases, you are advised to use the

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

016 when in a composition.

Parameters

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

046

a

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

047 to be used when formatting dates, determining the input format, and more

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

048

timestamp in UTC milliseconds from the epoch that represents an initial selection of a date. Provide a

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

79 to indicate no selection. Note that the state's

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

050 will provide a timestamp that represents the start of the day, which may be different than the provided initialSelectedDateMillis.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

051

timestamp in UTC milliseconds from the epoch that represents an initial selection of a month to be displayed to the user. In case

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

79 is provided, the displayed month would be the current one.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

053

an

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

054 that holds the year range that the date picker will be limited to

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

055

an initial

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

056 that this state will hold

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

057

a

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

014 that is consulted to check if a date is allowed. In case a date is not allowed to be selected, it will appear disabled in the UI.

DateRangePicker

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

7

Material Design date range picker.

Date range pickers let people select a range of dates and can be embedded into Dialogs.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this date range picker

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

019

a

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

020 that provides formatting skeletons for dates display

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

065

the title to be displayed in the date range picker

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

066

the headline to be displayed in the date range picker

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

023

indicates if this DateRangePicker should show a mode toggle action that transforms it into a date range input

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

024

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

025 that will be used to resolve the colors used for this date range picker in different states. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

026.

DateRangePickerState

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

9

Creates a

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

37.

Note that in most cases, you are advised to use the

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

060 when in a composition.

Parameters

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

046

a

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

047 to be used when formatting dates, determining the input format, and more

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

075

timestamp in UTC milliseconds from the epoch that represents an initial selection of a start date. Provide a

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

79 to indicate no selection.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

077

timestamp in UTC milliseconds from the epoch that represents an initial selection of an end date. Provide a

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

79 to indicate no selection.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

079

timestamp in UTC milliseconds from the epoch that represents an initial selection of a month to be displayed to the user. By default, in case an

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

080 is provided, the initial displayed month would be the month of the selected date. Otherwise, in case

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

79 is provided, the displayed month would be the current one.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

053

an

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

054 that holds the year range that the date picker will be limited to

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

055

an initial

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

056 that this state will hold

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

057

a

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

014 that is consulted to check if a date is allowed. In case a date is not allowed to be selected, it will appear disabled in the UI

Throws

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

088

if the initial timestamps do not fall within the year range this state is created with, or the end date precedes the start date, or when an end date is provided without a start date [e.g. the start date was null, while the end date was not].

DismissibleDrawerSheet

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

0

Content inside of a dismissible navigation drawer.

Parameters

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this drawer's content

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

091

defines the shape of this drawer's container

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

092

the color used for the background of this drawer. Use

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

49 to have no color.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

094

the preferred color for content inside this drawer. Defaults to either the matching content color for

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

095, or to the current

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90 if

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

095 is not a color from the theme.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

098

when

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

095 is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, 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:

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

56.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

102

a window insets for the sheet.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

042

content inside of a dismissible navigation drawer

DismissibleNavigationDrawer

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

1

Material Design navigation drawer.

Navigation drawers provide ergonomic access to destinations in an app. They’re often next to app content and affect the screen’s layout grid.

Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

2

Parameters

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

104

content inside this drawer

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this drawer

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

107

state of the drawer

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

108

whether or not the drawer can be interacted by gestures

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

34

content of the rest of the UI

DockedSearchBar

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

3

Material Design search.

A search bar represents a floating search field that allows users to enter a keyword or phrase and get relevant information. It can be used as a way to navigate through an app via search queries.

An active search bar expands into a search "view" and can be used to display dynamic suggestions.

Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

4

Parameters

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

112

the query text to be shown in the search bar's input field

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

113

the callback to be invoked when the input service updates the query. An updated text comes as a parameter of the callback.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

114

the callback to be invoked when the input service triggers the

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

115 action. The current

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

116 comes as a parameter of the callback.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

117

whether this search bar is active

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

118

the callback to be invoked when this search bar's active state is changed

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this search bar

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this search bar. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

123

the placeholder to be displayed when the search bar's

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

116 is empty.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

65

the leading icon to be displayed at the beginning of the search bar container

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

67

the trailing icon to be displayed at the end of the search bar container

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

127

the shape of this search bar

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

128

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

129 that will be used to resolve the colors used for this search bar in different states. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

130.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

131

when

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

132 is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, 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:

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

56.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

135

the elevation for the shadow below the search bar

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this search bar. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this search bar in different states.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

042

the content of this search bar that will be displayed below the input field

DropdownMenu

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

5

Material Design dropdown menu.

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

Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

6

Example usage with a

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

155 to control the menu items scroll position:

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

7

Parameters

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

156

whether the menu is expanded or not

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

30

called when the user requests to dismiss the menu, such as by tapping outside the menu's bounds

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to the menu's content

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

160

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

161 from the original position of the menu. The offset respects the LayoutDirection, so the offset's x position will be added in LTR and subtracted in RTL.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

162

a

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

155 to used by the menu's content for items vertical scrolling

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

164

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

165 for further customization of this popup's behavior

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

042

the content of this dropdown menu, typically a

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

148

DropdownMenuItem

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

8

Material Design dropdown menu item.

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

Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

6

Parameters

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

168

text of the menu item

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

called when this menu item is clicked

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this menu item

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

65

optional leading icon to be displayed at the beginning of the item's text

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

67

optional trailing icon to be displayed at the end of the item's text. This trailing icon slot can also accept

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

22 to indicate a keyboard shortcut.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this menu item. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

177

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

178 that will be used to resolve the colors used for this menu item in different states. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

179.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

180

the padding applied to the content of this menu item

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this menu item. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this menu item in different states.

ElevatedAssistChip

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

0

Material Design elevated assist chip.

Chips help people enter information, make selections, filter content, or trigger actions. Chips can show multiple interactive elements together in the same area, such as a list of selectable movie times, or a series of email contacts.

Assist chips represent smart or automated actions that can span multiple apps, such as opening a calendar event from the home screen. Assist chips function as though the user asked an assistant to complete the action. They should appear dynamically and contextually in a UI.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

called when this chip is clicked

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

60

text label for this chip

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this chip

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this chip. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

65

optional icon at the start of the chip, preceding the

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

194 text

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

67

optional icon at the end of the chip

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

68

defines the shape of this chip's container, border [when

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

197 is not null], and shadow [when using

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

198]

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

199

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

72 that will be used to resolve the colors used for this chip in different states. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

201.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

202

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

75 used to resolve the elevation for this chip in different states. This controls the size of the shadow below the chip. Additionally, when the container color is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, this controls the amount of primary color applied as an overlay. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

205.

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

40

the border to draw around the container of this chip

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this chip. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this chip in different states.

ElevatedButton

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

2

Material Design elevated button.

Buttons help people initiate actions, from sending an email, to sharing a document, to liking a post.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

called when this button is clicked

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this button

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this button. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

226

defines the shape of this button's container, border [when

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

227 is not null], and shadow [when using

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

228]

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

229

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

33 that will be used to resolve the colors for this button in different states. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

231.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

232

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

36 used to resolve the elevation for this button in different states. This controls the size of the shadow below the button. Additionally, when the container color is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, this controls the amount of primary color applied as an overlay. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

235.

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

40

the border to draw around the container of this button

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

41

the spacing values to apply internally between the container and the content

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this button. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this button in different states.

ElevatedCard

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

4

Material Design elevated card.

Elevated cards contain content and actions that relate information about a subject. They have a drop shadow, providing more separation from the background than filled cards, but less than outlined cards.

This ElevatedCard does not handle input events - see the other ElevatedCard overloads if you want a clickable or selectable ElevatedCard.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this card

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

245

defines the shape of this card's container and shadow [when using

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

246]

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

247

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

53 that will be used to resolve the color[s] used for this card in different states. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

249.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

250

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

56 used to resolve the elevation for this card in different states. This controls the size of the shadow below the card. Additionally, when the container color is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, this controls the amount of primary color applied as an overlay. See also:

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

56.

ElevatedCard

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

6

Material Design elevated card.

Elevated cards contain content and actions that relate information about a subject. They have a drop shadow, providing more separation from the background than filled cards, but less than outlined cards.

This ElevatedCard handles click events, calling its

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

254 lambda.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

called when this card is clicked

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this card

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this card. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

245

defines the shape of this card's container and shadow [when using

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

261]

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

247

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

53 that will be used to resolve the color[s] used for this card in different states. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

249.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

250

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

56 used to resolve the elevation for this card in different states. This controls the size of the shadow below the card. Additionally, when the container color is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, this controls the amount of primary color applied as an overlay. See also:

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

56.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this card. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this card in different states.

ElevatedFilterChip

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

8

Material Design elevated filter chip.

Chips help people enter information, make selections, filter content, or trigger actions. Chips can show multiple interactive elements together in the same area, such as a list of selectable movie times, or a series of email contacts.

Filter chips use tags or descriptive words to filter content. They can be a good alternative to toggle buttons or checkboxes.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

0

Material Design elevated suggestion chip.

Chips help people enter information, make selections, filter content, or trigger actions. Chips can show multiple interactive elements together in the same area, such as a list of selectable movie times, or a series of email contacts.

Suggestion chips help narrow a user's intent by presenting dynamically generated suggestions, such as possible responses or search filters.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

1

Parameters

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

called when this chip is clicked

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

60

text label for this chip

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this chip

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this chip. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

41

optional icon at the start of the chip, preceding the

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

284 text

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

285

defines the shape of this chip's container, border [when

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

286 is not null], and shadow [when using

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

287]

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

288

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

72 that will be used to resolve the colors used for this chip in

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

290

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

75 used to resolve the elevation for this chip in different states. This controls the size of the shadow below the chip. Additionally, when the container color is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, this controls the amount of primary color applied as an overlay. See

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

56 and

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

294.

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

40

the border to draw around the container of this chip different states. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

296.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this chip. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this chip in different states.

ExposedDropdownMenuBox

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

2

Material Design Exposed Dropdown Menu.

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

Exposed dropdown menus, sometimes also called "spinners" or "combo boxes", display the currently selected item in a text field to which the menu is anchored. In some cases, it can accept and display user input [whether or not it’s listed as a menu choice], in which case it may be used to implement autocomplete.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

3

An example of an editable Exposed Dropdown Menu:

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

4

ExtendedFloatingActionButton

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

5

Material Design extended floating action button.

Extended FABs help people take primary actions. They're wider than FABs to accommodate a text label and larger target area.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

6

Parameters

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

called when this FAB is clicked

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this FAB

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

310

defines the shape of this FAB's container and shadow [when using

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

311]

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

312

the color used for the background of this FAB. Use

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

49 to have no color.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

90

the preferred color for content inside this FAB. Defaults to either the matching content color for

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

315, or to the current

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90 if

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

315 is not a color from the theme.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

318

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

319 used to resolve the elevation for this FAB in different states. This controls the size of the shadow below the FAB. Additionally, when the container color is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, this controls the amount of primary color applied as an overlay. See also:

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

56.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this FAB. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this FAB in different states.

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

19

the content of this FAB, typically a

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

22 label

ExtendedFloatingActionButton

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

7

Material Design extended floating action button.

Extended FABs help people take primary actions. They're wider than FABs to accommodate a text label and larger target area.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

8

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

9

Parameters

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

168

label displayed inside this FAB

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

331

optional icon for this FAB, typically an

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

332

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

called when this FAB is clicked

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this FAB

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

336

controls the expansion state of this FAB. In an expanded state, the FAB will show both the

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

337 and

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

338. In a collapsed state, the FAB will show only the

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

337.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

310

defines the shape of this FAB's container and shadow [when using

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

341]

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

312

the color used for the background of this FAB. Use

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

49 to have no color.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

90

the preferred color for content inside this FAB. Defaults to either the matching content color for

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

345, or to the current

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90 if

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

345 is not a color from the theme.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

318

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

319 used to resolve the elevation for this FAB in different states. This controls the size of the shadow below the FAB. Additionally, when the container color is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, this controls the amount of primary color applied as an overlay. See also:

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

56.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this FAB. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this FAB in different states.

FilledIconButton

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

0

Material Design filled icon button.

Icon buttons help people take supplementary actions with a single tap. They’re used when a compact button is required, such as in a toolbar or image list.

Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

1

Parameters

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

called when this icon button is clicked

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this icon button

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this icon button. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

365

defines the shape of this icon button's container

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

366

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

367 that will be used to resolve the colors used for this icon button in different states. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

368.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this icon button. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this icon button in different states.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

34

the content of this icon button, typically an

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

332

FilledIconToggleButton

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

2

Material Design filled icon toggle button.

Icon buttons help people take supplementary actions with a single tap. They’re used when a compact button is required, such as in a toolbar or image list.

Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

3

Parameters

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

83

whether this icon button is toggled on or off

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

380

called when this icon button is clicked

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this icon button

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this icon button. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

365

defines the shape of this icon button's container

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

386

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

387 that will be used to resolve the colors used for this icon button in different states. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

388.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this icon button. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this icon button in different states.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

34

the content of this icon button, typically an

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

332

FilledTonalButton

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

4

Material Design filled tonal button.

Buttons help people initiate actions, from sending an email, to sharing a document, to liking a post.

Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

5

Choose the best button for an action based on the amount of emphasis it needs. The more important an action is, the higher emphasis its button should be.

  • See import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {
    AlertDialog[  
        onDismissRequest = {  
            // Dismiss the dialog when the user clicks outside the dialog or on the back  
            // button. If you want to disable that functionality, simply use an empty  
            // onDismissRequest.  
            openDialog.value = false  
        },  
        title = {  
            Text[text = "Title"]  
        },  
        text = {  
            Text[text = "Turned on by default"]  
        },  
        confirmButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Confirm"]  
            }  
        },  
        dismissButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Dismiss"]  
            }  
        }  
    ]  
    
    } 18 for a high-emphasis button without a shadow, also known as a filled button.
  • See import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {
    AlertDialog[  
        onDismissRequest = {  
            // Dismiss the dialog when the user clicks outside the dialog or on the back  
            // button. If you want to disable that functionality, simply use an empty  
            // onDismissRequest.  
            openDialog.value = false  
        },  
        title = {  
            Text[text = "Title"]  
        },  
        text = {  
            Text[text = "Turned on by default"]  
        },  
        confirmButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Confirm"]  
            }  
        },  
        dismissButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Dismiss"]  
            }  
        }  
    ]  
    
    } 19 for a import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {
    AlertDialog[  
        onDismissRequest = {  
            // Dismiss the dialog when the user clicks outside the dialog or on the back  
            // button. If you want to disable that functionality, simply use an empty  
            // onDismissRequest.  
            openDialog.value = false  
        },  
        title = {  
            Text[text = "Title"]  
        },  
        text = {  
            Text[text = "Turned on by default"]  
        },  
        confirmButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Confirm"]  
            }  
        },  
        dismissButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Dismiss"]  
            }  
        }  
    ]  
    
    } 20 with a shadow.
  • See import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {
    AlertDialog[  
        onDismissRequest = {  
            // Dismiss the dialog when the user clicks outside the dialog or on the back  
            // button. If you want to disable that functionality, simply use an empty  
            // onDismissRequest.  
            openDialog.value = false  
        },  
        title = {  
            Text[text = "Title"]  
        },  
        text = {  
            Text[text = "Turned on by default"]  
        },  
        confirmButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Confirm"]  
            }  
        },  
        dismissButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Dismiss"]  
            }  
        }  
    ]  
    
    } 21 for a medium-emphasis button with a border.
  • See import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {
    AlertDialog[  
        onDismissRequest = {  
            // Dismiss the dialog when the user clicks outside the dialog or on the back  
            // button. If you want to disable that functionality, simply use an empty  
            // onDismissRequest.  
            openDialog.value = false  
        },  
        title = {  
            Text[text = "Title"]  
        },  
        text = {  
            Text[text = "Turned on by default"]  
        },  
        confirmButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Confirm"]  
            }  
        },  
        dismissButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Dismiss"]  
            }  
        }  
    ]  
    
    } 22 for a low-emphasis button with no border.

The default text style for internal

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

22 components will be set to

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

23.

Parameters

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

called when this button is clicked

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this button

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this button. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

410

defines the shape of this button's container, border [when

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

411 is not null], and shadow [when using

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

412]

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

413

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

33 that will be used to resolve the colors for this button in different states. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

415.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

416

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

36 used to resolve the elevation for this button in different states. This controls the size of the shadow below the button. Additionally, when the container color is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, this controls the amount of primary color applied as an overlay.

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

40

the border to draw around the container of this button

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

41

the spacing values to apply internally between the container and the content

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this button. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this button in different states.

FilledTonalIconButton

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

6

Material Design filled tonal icon button.

Icon buttons help people take supplementary actions with a single tap. They’re used when a compact button is required, such as in a toolbar or image list.

Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

7

Parameters

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

called when this icon button is clicked

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this icon button

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this icon button. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

365

defines the shape of this icon button's container

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

437

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

367 that will be used to resolve the colors used for this icon button in different states. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

368.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this icon button. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this icon button in different states.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

34

the content of this icon button, typically an

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

332

FilledTonalIconToggleButton

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

8

Material Design filled tonal icon toggle button.

Icon buttons help people take supplementary actions with a single tap. They’re used when a compact button is required, such as in a toolbar or image list.

Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

9

Parameters

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

83

whether this icon button is toggled on or off

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

380

called when this icon button is clicked

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this icon button

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this icon button. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

365

defines the shape of this icon button's container

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

459

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

387 that will be used to resolve the colors used for this icon button in different states. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

388.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this icon button. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this icon button in different states.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

34

the content of this icon button, typically an

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

332

FilterChip

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

0

Material Design filter chip.

Chips help people enter information, make selections, filter content, or trigger actions. Chips can show multiple interactive elements together in the same area, such as a list of selectable movie times, or a series of email contacts.

Filter chips use tags or descriptive words to filter content. They can be a good alternative to toggle buttons or checkboxes.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

called when this chip is clicked

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

60

text label for this chip

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this chip

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this chip. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

65

optional icon at the start of the chip, preceding the

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

479 text. When

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

480 is true, this icon may visually indicate that the chip is selected [for example, via a checkmark icon].

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

67

optional icon at the end of the chip

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

482

defines the shape of this chip's container, border [when

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

483 is not null], and shadow [when using

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

484]

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

485

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

486 that will be used to resolve the colors used for this chip in different states. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

487.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

488

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

489 used to resolve the elevation for this chip in different states. This controls the size of the shadow below the chip. Additionally, when the container color is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, this controls the amount of primary color applied as an overlay. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

491.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

492

the border to draw around the container of this chip. Pass

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

79 for no border. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

494.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this chip. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this chip in different states.

FloatingActionButton

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

3

Material Design floating action button.

The FAB represents the most important action on a screen. It puts key actions within reach.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

called when this FAB is clicked

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this FAB

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

504

defines the shape of this FAB's container and shadow [when using

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

505]

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

312

the color used for the background of this FAB. Use

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

49 to have no color.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

90

the preferred color for content inside this FAB. Defaults to either the matching content color for

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

509, or to the current

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90 if

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

509 is not a color from the theme.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

318

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

319 used to resolve the elevation for this FAB in different states. This controls the size of the shadow below the FAB. Additionally, when the container color is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, this controls the amount of primary color applied as an overlay. See also:

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

56.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this FAB. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this FAB in different states.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

34

the content of this FAB, typically an

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

332

HorizontalDivider

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

5

Material Design divider.

A divider is a thin line that groups content in lists and layouts.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this divider line.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

525

thickness of this divider line. Using

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

526 will produce a single pixel divider regardless of screen density.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

527

color of this divider line.

Icon

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

6

A Material Design icon component that draws

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

88 using

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

89, with a default value of

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90. If

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

88 has no intrinsic size, this component will use the recommended default size. Icon is an opinionated component designed to be used with single-color icons so that they can be tinted correctly for the component they are placed in. For multicolored icons and icons that should not be tinted, use

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

532 for

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

89. For generic images that should not be tinted, and do not follow the recommended icon size, use the generic

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

534 instead. For a clickable icon, see

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

42.

To learn more about icons, see Material Design icons

Parameters

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

536

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

537 to draw inside this icon

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

538

text used by accessibility services to describe what this icon represents. This should always be provided unless this icon is used for decorative purposes, and does not represent a meaningful action that a user can take. This text should be localized, such as by using androidx.compose.ui.res.stringResource or similar

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this icon

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

541

tint to be applied to

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

88. If

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

532 is provided, then no tint is applied.

Icon

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

7

A Material Design icon component that draws

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

93 using

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

94, with a default value of

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90. If

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

93 has no intrinsic size, this component will use the recommended default size. Icon is an opinionated component designed to be used with single-color icons so that they can be tinted correctly for the component they are placed in. For multicolored icons and icons that should not be tinted, use

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

532 for

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

94. For generic images that should not be tinted, and do not follow the recommended icon size, use the generic

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

534 instead. For a clickable icon, see

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

42.

To learn more about icons, see Material Design icons

Parameters

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

552

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

553 to draw inside this icon

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

538

text used by accessibility services to describe what this icon represents. This should always be provided unless this icon is used for decorative purposes, and does not represent a meaningful action that a user can take. This text should be localized, such as by using androidx.compose.ui.res.stringResource or similar

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this icon

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

541

tint to be applied to

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

93. If

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

532 is provided, then no tint is applied.

Icon

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

8

A Material Design icon component that draws

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

98 using

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

99, with a default value of

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90. If

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

98 has no intrinsic size, this component will use the recommended default size. Icon is an opinionated component designed to be used with single-color icons so that they can be tinted correctly for the component they are placed in. For multicolored icons and icons that should not be tinted, use

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

532 for

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

99. For generic images that should not be tinted, and do not follow the recommended icon size, use the generic

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

534 instead. For a clickable icon, see

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

42.

To learn more about icons, see Material Design icons

Parameters

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

568

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

569 to draw inside this icon

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

538

text used by accessibility services to describe what this icon represents. This should always be provided unless this icon is used for decorative purposes, and does not represent a meaningful action that a user can take. This text should be localized, such as by using androidx.compose.ui.res.stringResource or similar

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this icon

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

541

tint to be applied to

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

98. If

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

532 is provided, then no tint is applied.

IconButton

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

9

Material Design standard icon button.

Icon buttons help people take supplementary actions with a single tap. They’re used when a compact button is required, such as in a toolbar or image list.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

called when this icon button is clicked

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this icon button

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this icon button. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

584

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

367 that will be used to resolve the colors used for this icon button in different states. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

586.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this icon button. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this icon button in different states.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

34

the content of this icon button, typically an

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

332

IconToggleButton

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

01

Material Design standard icon toggle button.

Icon buttons help people take supplementary actions with a single tap. They’re used when a compact button is required, such as in a toolbar or image list.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this icon button

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this icon button. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

603

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

387 that will be used to resolve the colors used for this icon button in different states. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

605.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this icon button. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this icon button in different states.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

34

the content of this icon button, typically an

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

332

InputChip

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

03

Material Design input chip.

Chips help people enter information, make selections, filter content, or trigger actions. Chips can show multiple interactive elements together in the same area, such as a list of selectable movie times, or a series of email contacts.

Input chips represent discrete pieces of information entered by a user.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

called when this chip is clicked

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

60

text label for this chip

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this chip

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this chip. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

65

optional icon at the start of the chip, preceding the

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

622 text

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

623

optional avatar at the start of the chip, preceding the

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

622 text

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

67

optional icon at the end of the chip

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

626

defines the shape of this chip's container, border [when

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

627 is not null], and shadow [when using

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

628]

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

629

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

72 that will be used to resolve the colors used for this chip in different states. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

631.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

632

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

75 used to resolve the elevation for this chip in different states. This controls the size of the shadow below the chip. Additionally, when the container color is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, this controls the amount of primary color applied as an overlay. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

635.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

636

the border to draw around the container of this chip. Pass

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

79 for no border. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

638.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this chip. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this chip in different states.

Label

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

08

Label component that will append a

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

09 to

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

10. The positioning logic uses

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

646.

Label appended to thumbs of Slider:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

09

Label appended to thumbs of RangeSlider:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

10

LargeFloatingActionButton

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

11

Material Design large floating action button.

The FAB represents the most important action on a screen. It puts key actions within reach.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

called when this FAB is clicked

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this FAB

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

650

defines the shape of this FAB's container and shadow [when using

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

651]

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

312

the color used for the background of this FAB. Use

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

49 to have no color.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

90

the preferred color for content inside this FAB. Defaults to either the matching content color for

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

655, or to the current

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90 if

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

655 is not a color from the theme.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

318

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

319 used to resolve the elevation for this FAB in different states. This controls the size of the shadow below the FAB. Additionally, when the container color is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, this controls the amount of primary color applied as an overlay. See also:

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

56.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this FAB. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this FAB in different states.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

34

the content of this FAB, typically an

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

332

LargeTopAppBar

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

13

Material Design large top app bar.

Top app bars display information and actions at the top of a screen.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

called when this tab is clicked

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

168

the text label displayed in this tab

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

331

the icon displayed in this tab. Should be 24.dp.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this tab

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this tab. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

680

the color for the content of this tab when selected, and the color of the ripple.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

681

the color for the content of this tab when not selected

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this tab. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this tab in different states.

LinearProgressIndicator

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

16

Indeterminate Material Design linear progress indicator.

Progress indicators express an unspecified wait time or display the duration of a process.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this progress indicator

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

689

color of this progress indicator

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

690

color of the track behind the indicator, visible when the progress has not reached the area of the overall indicator yet

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

691

stroke cap to use for the ends of this progress indicator

LinearProgressIndicator

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

18

Determinate Material Design linear progress indicator.

Progress indicators express an unspecified wait time or display the duration of a process.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this progress indicator

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

689

color of this progress indicator

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

690

color of the track behind the indicator, visible when the progress has not reached the area of the overall indicator yet

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

691

stroke cap to use for the ends of this progress indicator

ListItem

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

20

Material Design list item.

Lists are continuous, vertical indexes of text or images.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to the list item

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

704

the content displayed above the headline content

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

705

the supporting content of the list item

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

706

the leading content of the list item

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

707

the trailing meta text, icon, switch or checkbox

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

708

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

709 that will be used to resolve the background and content color for this list item in different states. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

710

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

711

the tonal elevation of this list item

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

712

the shadow elevation of this list item

MaterialTheme

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

25

Material Theming refers to the customization of your Material Design app to better reflect your product’s brand.

Material components such as

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

18 and

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

26 use values provided here when retrieving default values.

All values may be set by providing this component with the

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

715,

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

716 attributes. Use this to configure the overall theme of elements within this MaterialTheme.

Any values that are not set will inherit the current value from the theme, falling back to the defaults if there is no parent MaterialTheme. This allows using a MaterialTheme at the top of your application, and then separate MaterialTheme[s] for different screens / parts of your UI, overriding only the parts of the theme definition that need to change.

Parameters

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

717

A complete definition of the Material Color theme for this hierarchy

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

718

A set of corner shapes to be used as this hierarchy's shape system

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

719

A set of text styles to be used as this hierarchy's typography system

MediumTopAppBar

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

26

Material Design medium top app bar.

Top app bars display information and actions at the top of a screen.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

30

Executes when the user clicks outside of the bottom sheet, after sheet animates to

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

722.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

Optional

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 for the bottom sheet.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

725

The state of the bottom sheet.

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

89

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

90 that defines what the maximum width the sheet will take. Pass in

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

91 for a sheet that spans the entire screen width.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

729

The shape of the bottom sheet.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

730

The color used for the background of this bottom sheet

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

90

The preferred color for content inside this bottom sheet. Defaults to either the matching content color for

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

732, or to the current

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90 if

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

732 is not a color from the theme.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

735

The tonal elevation of this bottom sheet.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

736

Color of the scrim that obscures content when the bottom sheet is open.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

737

Optional visual marker to swipe the bottom sheet.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

738

window insets to be passed to the bottom sheet window via

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

13 params.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

740

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

741 for further customization of this modal bottom sheet's behavior.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

042

The content to be displayed inside the bottom sheet.

ModalDrawerSheet

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

30

Content inside of a modal navigation drawer.

Parameters

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this drawer's content

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

745

defines the shape of this drawer's container

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

092

the color used for the background of this drawer. Use

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

49 to have no color.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

094

the preferred color for content inside this drawer. Defaults to either the matching content color for

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

749, or to the current

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90 if

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

749 is not a color from the theme.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

752

when

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

749 is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, 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:

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

56.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

102

a window insets for the sheet.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

042

content inside of a modal navigation drawer

ModalNavigationDrawer

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

31

Material Design navigation drawer.

Navigation drawers provide ergonomic access to destinations in an app.

Modal navigation drawers block interaction with the rest of an app’s content with a scrim. They are elevated above most of the app’s UI and don’t affect the screen’s layout grid.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this drawer

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

107

state of the drawer

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

108

whether or not the drawer can be interacted by gestures

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

763

color of the scrim that obscures content when the drawer is open

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

34

content of the rest of the UI

MultiChoiceSegmentedButtonRow

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

33

Material Segmented Button.

A Layout to correctly position, size, and add semantics to

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

765s in a Row. It handles overlapping items so that strokes of the item are correctly on top of each other.

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

67 is used when the selection allows multiple value, for correct semantics.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

34

NavigationBar

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

35

Material Design bottom navigation bar.

Navigation bars offer a persistent and convenient way to switch between primary destinations in an app.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this navigation bar

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

773

the color used for the background of this navigation bar. Use

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

49 to have no color.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

775

the preferred color for content inside this navigation bar. Defaults to either the matching content color for

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

776, or to the current

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90 if

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

776 is not a color from the theme.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

779

when

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

776 is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, 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:

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

56.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

783

a window insets of the navigation bar.

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

19

the content of this navigation bar, typically 3-5

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

52s

NavigationDrawerItem

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

37

Material Design navigation drawer item.

A

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

59 represents a destination within drawers, either

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

53,

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

55 or

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

57.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

32

NavigationRail

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

39

Material Design bottom navigation rail.

Navigation rails provide access to primary destinations in apps when using tablet and desktop screens.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

called when this item is clicked

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

331

icon for this item, typically an

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

332

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this item

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this item. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

805

optional text label for this item

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

806

whether to always show the label for this item. If false, the label will only be shown when this item is selected.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

807

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

808 that will be used to resolve the colors used for this item in different states. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

809.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this item. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this item in different states.

OutlinedButton

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

42

Material Design outlined button.

Buttons help people initiate actions, from sending an email, to sharing a document, to liking a post.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

called when this button is clicked

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this button

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this button. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

829

defines the shape of this button's container, border [when

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

830 is not null], and shadow [when using

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

831].

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

832

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

33 that will be used to resolve the colors for this button in different states. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

834.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

835

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

36 used to resolve the elevation for this button in different states. This controls the size of the shadow below the button. Additionally, when the container color is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, this controls the amount of primary color applied as an overlay.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

838

the border to draw around the container of this button. Pass

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

79 for no border.

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

41

the spacing values to apply internally between the container and the content

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this button. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this button in different states.

OutlinedCard

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

44

Material Design outlined card.

Outlined cards contain content and actions that relate information about a subject. They have a visual boundary around the container. This can provide greater emphasis than the other types.

This OutlinedCard does not handle input events - see the other OutlinedCard overloads if you want a clickable or selectable OutlinedCard.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this card

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

848

defines the shape of this card's container, border [when

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

849 is not null], and shadow [when using

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

850]

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

851

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

53 that will be used to resolve the color[s] used for this card in different states. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

853.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

854

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

56 used to resolve the elevation for this card in different states. This controls the size of the shadow below the card. Additionally, when the container color is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, this controls the amount of primary color applied as an overlay. See also:

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

56.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

858

the border to draw around the container of this card

OutlinedCard

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

46

Material Design outlined card.

Outlined cards contain content and actions that relate information about a subject. They have a visual boundary around the container. This can provide greater emphasis than the other types.

This OutlinedCard handles click events, calling its

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

859 lambda.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

called when this card is clicked

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this card

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this card. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

848

defines the shape of this card's container, border [when

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

866 is not null], and shadow [when using

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

867]

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

851

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

53 that will be used to resolve the color[s] used for this card in different states. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

853.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

854

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

56 used to resolve the elevation for this card in different states. This controls the size of the shadow below the card. Additionally, when the container color is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, this controls the amount of primary color applied as an overlay. See also:

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

56.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

875

the border to draw around the container of this card

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this card. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this card in different states.

OutlinedIconButton

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

48

Material Design outlined icon button.

Icon buttons help people take supplementary actions with a single tap. They’re used when a compact button is required, such as in a toolbar or image list.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

called when this icon button is clicked

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this icon button

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this icon button. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

889

defines the shape of this icon button's container and border [when

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

890 is not null]

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

891

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

367 that will be used to resolve the colors used for this icon button in different states. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

893.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

894

the border to draw around the container of this icon button. Pass

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

79 for no border. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

896.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this icon button. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this icon button in different states.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

34

the content of this icon button, typically an

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

332

OutlinedIconToggleButton

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

50

Material Design outlined icon toggle button.

Icon buttons help people take supplementary actions with a single tap. They’re used when a compact button is required, such as in a toolbar or image list.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this icon button

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this icon button. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

889

defines the shape of this icon button's container and border [when

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

914 is not null]

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

915

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

387 that will be used to resolve the colors used for this icon button in different states. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

917.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

918

the border to draw around the container of this icon button. Pass

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

79 for no border. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

920.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this icon button. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this icon button in different states.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

34

the content of this icon button, typically an

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

332

OutlinedTextField

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

52

Material Design outlined text field.

Text fields allow users to enter text into a UI. They typically appear in forms and dialogs. Outlined text fields have less visual emphasis than filled text fields. When they appear in places like forms, where many text fields are placed together, their reduced emphasis helps simplify the layout.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this text field

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this text field. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

935

controls the editable state of the text field. When

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

936, the text field cannot be modified. However, a user can focus it and copy text from it. Read-only text fields are usually used to display pre-filled forms that a user cannot edit.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

937

the style to be applied to the input text. Defaults to

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

69.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

805

the optional label to be displayed inside the text field container. The default text style for internal

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

22 is

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

941 when the text field is in focus and

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

942 when the text field is not in focus

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

123

the optional placeholder to be displayed when the text field is in focus and the input text is empty. The default text style for internal

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

22 is

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

942

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

65

the optional leading icon to be displayed at the beginning of the text field container

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

67

the optional trailing icon to be displayed at the end of the text field container

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

948

the optional prefix to be displayed before the input text in the text field

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

949

the optional suffix to be displayed after the input text in the text field

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

950

the optional supporting text to be displayed below the text field

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

951

indicates if the text field's current value is in error. If set to true, the label, bottom indicator and trailing icon by default will be displayed in error color

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

952

transforms the visual representation of the input

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

953 For example, you can use

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

954 to create a password text field. By default, no visual transformation is applied.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

955

software keyboard options that contains configuration such as

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

956 and

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

957

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

958

when the input service emits an IME action, the corresponding callback is called. Note that this IME action may be different from what you specified in

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

959

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

960

when

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

936, this text field becomes a single horizontally scrolling text field instead of wrapping onto multiple lines. The keyboard will be informed to not show the return key as the

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

957. Note that

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

963 parameter will be ignored as the maxLines attribute will be automatically set to 1.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

964

the maximum height in terms of maximum number of visible lines. It is required that 1 Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this text field in different states.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

977

defines the shape of this text field's border

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

978

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

979 that will be used to resolve the colors used for this text field in different states. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

980.

OutlinedTextField

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

54

Material Design outlined text field.

Text fields allow users to enter text into a UI. They typically appear in forms and dialogs. Outlined text fields have less visual emphasis than filled text fields. When they appear in places like forms, where many text fields are placed together, their reduced emphasis helps simplify the layout.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this text field

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this text field. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

935

controls the editable state of the text field. When

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

936, the text field cannot be modified. However, a user can focus it and copy text from it. Read-only text fields are usually used to display pre-filled forms that a user cannot edit.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

937

the style to be applied to the input text. Defaults to

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

69.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

805

the optional label to be displayed inside the text field container. The default text style for internal

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

22 is

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

941 when the text field is in focus and

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

942 when the text field is not in focus

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

123

the optional placeholder to be displayed when the text field is in focus and the input text is empty. The default text style for internal

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

22 is

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

942

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

65

the optional leading icon to be displayed at the beginning of the text field container

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

67

the optional trailing icon to be displayed at the end of the text field container

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

948

the optional prefix to be displayed before the input text in the text field

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

949

the optional suffix to be displayed after the input text in the text field

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

950

the optional supporting text to be displayed below the text field

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

951

indicates if the text field's current value is in error state. If set to true, the label, bottom indicator and trailing icon by default will be displayed in error color

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

952

transforms the visual representation of the input

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

009 For example, you can use

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

954 to create a password text field. By default, no visual transformation is applied.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

955

software keyboard options that contains configuration such as

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

956 and

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

957

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

958

when the input service emits an IME action, the corresponding callback is called. Note that this IME action may be different from what you specified in

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

959

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

960

when

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

936, this text field becomes a single horizontally scrolling text field instead of wrapping onto multiple lines. The keyboard will be informed to not show the return key as the

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

957. Note that

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

019 parameter will be ignored as the maxLines attribute will be automatically set to 1.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

964

the maximum height in terms of maximum number of visible lines. It is required that 1 Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

021 Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

019. This parameter is ignored when

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

023 is true.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

968

the minimum height in terms of minimum number of visible lines. It is required that 1 Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

021 Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

019. This parameter is ignored when

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

023 is true.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this text field. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this text field in different states.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

977

defines the shape of this text field's border

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

978

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

979 that will be used to resolve the colors used for this text field in different states. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

980.

PermanentDrawerSheet

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

56

Content inside of a permanent navigation drawer.

Parameters

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this drawer's content

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

091

defines the shape of this drawer's container

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

092

the color used for the background of this drawer. Use

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

49 to have no color.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

094

the preferred color for content inside this drawer. Defaults to either the matching content color for

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

043, or to the current

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90 if

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

043 is not a color from the theme.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

046

when

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

043 is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, 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:

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

56.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

102

a window insets for the sheet.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

042

content inside a permanent navigation drawer

PermanentNavigationDrawer

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

57

Material Design navigation permanent drawer.

Navigation drawers provide ergonomic access to destinations in an app. They’re often next to app content and affect the screen’s layout grid.

Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

053s, and displays an indicator underneath the currently selected tab. A scrollable tab row places its tabs offset from the starting edge, and allows scrolling to tabs that are placed off screen. For a fixed tab row that does not allow scrolling, and evenly places its tabs, see

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

054.

Parameters

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

055

the index of the currently selected tab

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this tab row

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

162

the

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

155 of this tab row

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

060

the color used for the background of this tab row. Use

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

49 to have no color.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

062

the preferred color for content inside this tab row. Defaults to either the matching content color for

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

063, or to the current

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90 if

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

063 is not a color from the theme.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

066

the padding between the starting and ending edge of the scrollable tab row, and the tabs inside the row. This padding helps inform the user that this tab row can be scrolled, unlike a

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

75.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

068

the indicator that represents which tab is currently selected. By default this will be a

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

069, using a

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

070 modifier to animate its position.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

071

the divider displayed at the bottom of the tab row. This provides a layer of separation between the tab row and the content displayed underneath.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

072

the tabs inside this tab row. Typically this will be multiple

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

053s. Each element inside this lambda will be measured and placed evenly across the row, each taking up equal space.

PrimaryTabRow

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

60

Material Design Fixed Primary tabs

Primary tabs are placed at the top of the content pane under a top app bar. They display the main content destinations. Fixed tabs display all tabs in a set simultaneously. They are best for switching between related content quickly, such as between transportation methods in a map. To navigate between fixed tabs, tap an individual tab, or swipe left or right in the content area.

A TabRow contains a row of

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

053s, and displays an indicator underneath the currently selected tab. A TabRow places its tabs evenly spaced along the entire row, with each tab taking up an equal amount of space. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

075 for a tab row that does not enforce equal size, and allows scrolling to tabs that do not fit on screen.

A simple example with text tabs looks like:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

61

You can also provide your own custom tab, such as:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

62

Where the custom tab itself could look like:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

63

As well as customizing the tab, you can also provide a custom

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

076, to customize the indicator displayed for a tab.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

076 will be placed to fill the entire TabRow, so it should internally take care of sizing and positioning the indicator to match changes to

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

078.

For example, given an indicator that draws a rounded rectangle near the edges of the

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

053:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

64

We can reuse

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

070 and just provide this indicator, as we aren't changing how the size and position of the indicator changes between tabs:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

65

You may also want to use a custom transition, to allow you to dynamically change the appearance of the indicator as it animates between tabs, such as changing its color or size.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

076 is stacked on top of the entire TabRow, so you just need to provide a custom transition that animates the offset of the indicator from the start of the TabRow. For example, take the following example that uses a transition to animate the offset, width, and color of the same FancyIndicator from before, also adding a physics based 'spring' effect to the indicator in the direction of motion:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

66

We can now just pass this indicator directly to TabRow:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

67

Parameters

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

055

the index of the currently selected tab

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this tab row

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

060

the color used for the background of this tab row. Use

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

49 to have no color.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

062

the preferred color for content inside this tab row. Defaults to either the matching content color for

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

088, or to the current

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90 if

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

088 is not a color from the theme.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

091

the indicator that represents which tab is currently selected. By default this will be a

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

069, using a

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

070 modifier to animate its position.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

071

the divider displayed at the bottom of the tab row. This provides a layer of separation between the tab row and the content displayed underneath.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

072

the tabs inside this tab row. Typically this will be multiple

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

053s. Each element inside this lambda will be measured and placed evenly across the row, each taking up equal space.

RadioButton

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

68

Material Design radio button.

Radio buttons allow users to select one option from a set.

Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

099 or

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

  1. to achieve radio group-like behaviour, where the entire layout is selectable:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

70

Parameters

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

471

whether this radio button is selected or not

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

102

called when this radio button is clicked. If

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

79, then this radio button will not be interactable, unless something else handles its input events and updates its state.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this radio button

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this radio button. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

108

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

109 that will be used to resolve the color used for this radio button in different states. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

110.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this radio button. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this radio button in different states.

RangeSlider

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

71

Material Design Range slider.

Range Sliders expand upon

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

116 using the same concepts but allow the user to select 2 values.

The two values are still bounded by the value range but they also cannot cross each other.

Use continuous Range Sliders to allow users to make meaningful selections that don’t require a specific values:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

72

You can allow the user to choose only between predefined set of values by specifying the amount of steps between min and max values:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

73

Parameters

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

117

current values of the RangeSlider. If either value is outside of

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

118 provided, it will be coerced to this range.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

119

lambda in which values should be updated

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

modifiers for the Range Slider layout

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

whether or not component is enabled and can we interacted with or not

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

122

range of values that Range Slider values can take. Passed

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

123 will be coerced to this range

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

124

if greater than 0, specifies the amounts of discrete values, evenly distributed between across the whole value range. If 0, range slider will behave as a continuous slider and allow to choose any value from the range specified. Must not be negative.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

125

lambda to be invoked when value change has ended. This callback shouldn't be used to update the range slider values [use

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

126 for that], but rather to know when the user has completed selecting a new value by ending a drag or a click.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

127

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

128 that will be used to determine the color of the Range Slider parts in different state. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

129 to customize.

RangeSlider

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

74

Material Design Range slider.

Range Sliders expand upon

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

116 using the same concepts but allow the user to select 2 values.

The two values are still bounded by the value range but they also cannot cross each other.

It uses the provided startThumb for the slider's start thumb and endThumb for the slider's end thumb. It also uses the provided track for the slider's track. If nothing is passed for these parameters, it will use

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

131 and

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

132 for the thumbs and track.

Use continuous Range Sliders to allow users to make meaningful selections that don’t require a specific values:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

72

You can allow the user to choose only between predefined set of values by specifying the amount of steps between min and max values:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

73

A custom start/end thumb and track can be provided:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

10

Parameters

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

133

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

134 which contains the current values of the RangeSlider.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

modifiers for the Range Slider layout

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

whether or not component is enabled and can we interacted with or not

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

127

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

128 that will be used to determine the color of the Range Slider parts in different state. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

129 to customize.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

140

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for the start thumb. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

144

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for the end thumb. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

148

the start thumb to be displayed on the Range Slider. The lambda receives a

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

134 which is used to obtain the current active track.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

150

the end thumb to be displayed on the Range Slider. The lambda receives a

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

134 which is used to obtain the current active track.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

152

the track to be displayed on the range slider, it is placed underneath the thumb. The lambda receives a

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

134 which is used to obtain the current active track.

RangeSlider

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

78

Material Design Range slider.

Range Sliders expand upon

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

116 using the same concepts but allow the user to select 2 values.

The two values are still bounded by the value range but they also cannot cross each other.

It uses the provided startThumb for the slider's start thumb and endThumb for the slider's end thumb. It also uses the provided track for the slider's track. If nothing is passed for these parameters, it will use

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

131 and

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

132 for the thumbs and track.

Use continuous Range Sliders to allow users to make meaningful selections that don’t require a specific values:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

72

You can allow the user to choose only between predefined set of values by specifying the amount of steps between min and max values:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

73

A custom start/end thumb and track can be provided:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

10

Parameters

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

117

current values of the RangeSlider. If either value is outside of

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

158 provided, it will be coerced to this range.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

119

lambda in which values should be updated

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

modifiers for the Range Slider layout

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

whether or not component is enabled and can we interacted with or not

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

122

range of values that Range Slider values can take. Passed

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

163 will be coerced to this range.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

125

lambda to be invoked when value change has ended. This callback shouldn't be used to update the range slider values [use

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

165 for that], but rather to know when the user has completed selecting a new value by ending a drag or a click.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

127

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

128 that will be used to determine the color of the Range Slider parts in different state. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

129 to customize.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

140

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for the start thumb. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

144

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for the end thumb. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

148

the start thumb to be displayed on the Range Slider. The lambda receives a

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

134 which is used to obtain the current active track.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

150

the end thumb to be displayed on the Range Slider. The lambda receives a

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

134 which is used to obtain the current active track.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

152

the track to be displayed on the range slider, it is placed underneath the thumb. The lambda receives a

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

134 which is used to obtain the current active track.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

124

if greater than 0, specifies the amounts of discrete values, evenly distributed between across the whole value range. If 0, range slider will behave as a continuous slider and allow to choose any value from the range specified. Must not be negative.

RichTooltip

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

82

Rich text tooltip that allows the user to pass in a title, text, and action. Tooltips are used to provide a descriptive message.

Usually used with

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

09

Parameters

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to the tooltip.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

44

An optional title for the tooltip.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

188

An optional action for the tooltip.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

189

the

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

190 that should be applied to the tooltip container.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

191

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

192 that will be applied to the tooltip's container and content.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

193

the tonal elevation of the tooltip.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

194

the shadow elevation of the tooltip.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

168

the composable that will be used to populate the rich tooltip's text.

Scaffold

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

83

Material Design layout.

Scaffold implements the basic material design visual layout structure.

This component provides API to put together several material components to construct your screen, by ensuring proper layout strategy for them and collecting necessary data so these components will work together correctly.

Simple example of a Scaffold with

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

01,

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

39:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

84

To show a

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

08, use

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

04.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

85

ScrollableTabRow

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

86

Material Design tabs

Material Design scrollable tabs.

For primary indicator tabs, use

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

075. For secondary indicator tabs, use

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

201.

When a set of tabs cannot fit on screen, use scrollable tabs. Scrollable tabs can use longer text labels and a larger number of tabs. They are best used for browsing on touch interfaces.

A ScrollableTabRow contains a row of

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

053s, and displays an indicator underneath the currently selected tab. A ScrollableTabRow places its tabs offset from the starting edge, and allows scrolling to tabs that are placed off screen. For a fixed tab row that does not allow scrolling, and evenly places its tabs, see

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

75.

Parameters

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

055

the index of the currently selected tab

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this tab row

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

060

the color used for the background of this tab row. Use

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

49 to have no color.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

062

the preferred color for content inside this tab row. Defaults to either the matching content color for

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

210, or to the current

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90 if

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

210 is not a color from the theme.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

066

the padding between the starting and ending edge of the scrollable tab row, and the tabs inside the row. This padding helps inform the user that this tab row can be scrolled, unlike a

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

75.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

215

the indicator that represents which tab is currently selected. By default this will be a

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

216, using a

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

070 modifier to animate its position. Note that this indicator will be forced to fill up the entire tab row, so you should use

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

070 or similar to animate the actual drawn indicator inside this space, and provide an offset from the start.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

071

the divider displayed at the bottom of the tab row. This provides a layer of separation between the tab row and the content displayed underneath.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

072

the tabs inside this tab row. Typically this will be multiple

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

053s. Each element inside this lambda will be measured and placed evenly across the row, each taking up equal space.

SearchBar

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

87

Material Design search.

A search bar represents a floating search field that allows users to enter a keyword or phrase and get relevant information. It can be used as a way to navigate through an app via search queries.

An active search bar expands into a search "view" and can be used to display dynamic suggestions.

Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

224 that limit its size, and the host activity should set

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

225.

If this expansion behavior is undesirable, for example on large tablet screens,

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

110 can be used instead.

An example looks like:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

88

Parameters

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

112

the query text to be shown in the search bar's input field

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

113

the callback to be invoked when the input service updates the query. An updated text comes as a parameter of the callback.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

114

the callback to be invoked when the input service triggers the

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

115 action. The current

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

231 comes as a parameter of the callback.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

117

whether this search bar is active

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

118

the callback to be invoked when this search bar's active state is changed

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this search bar

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this search bar. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

123

the placeholder to be displayed when the search bar's

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

231 is empty.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

65

the leading icon to be displayed at the beginning of the search bar container

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

67

the trailing icon to be displayed at the end of the search bar container

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

242

the shape of this search bar when it is not

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

243. When

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

243, the shape will always be

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

245.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

128

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

129 that will be used to resolve the colors used for this search bar in different states. See

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

130.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

131

when

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

132 is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, 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:

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

56.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

135

the elevation for the shadow below the search bar

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

254

the window insets that the search bar will respect

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this search bar. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this search bar in different states.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

042

the content of this search bar that will be displayed below the input field

SecondaryScrollableTabRow

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

89

Material Design Scrollable Secondary tabs

Material Design scrollable tabs.

Secondary tabs are used within a content area to further separate related content and establish hierarchy. When a set of tabs cannot fit on screen, use scrollable tabs. Scrollable tabs can use longer text labels and a larger number of tabs. They are best used for browsing on touch interfaces.

A scrollabel tab row contains a row of

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

053s, and displays an indicator underneath the currently selected tab. A scrollable tab row places its tabs offset from the starting edge, and allows scrolling to tabs that are placed off screen. For a fixed tab row that does not allow scrolling, and evenly places its tabs, see

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

262.

Parameters

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

055

the index of the currently selected tab

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this tab row

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

162

the

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

155 of this tab row

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

268

the color used for the background of this tab row. Use

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

49 to have no color.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

270

the preferred color for content inside this tab row. Defaults to either the matching content color for

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

271, or to the current

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90 if

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

271 is not a color from the theme.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

066

the padding between the starting and ending edge of the scrollable tab row, and the tabs inside the row. This padding helps inform the user that this tab row can be scrolled, unlike a

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

75.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

215

the indicator that represents which tab is currently selected. By default this will be a

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

216, using a

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

070 modifier to animate its position. Note that this indicator will be forced to fill up the entire tab row, so you should use

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

070 or similar to animate the actual drawn indicator inside this space, and provide an offset from the start.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

071

the divider displayed at the bottom of the tab row. This provides a layer of separation between the tab row and the content displayed underneath.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

072

the tabs inside this tab row. Typically this will be multiple

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

053s. Each element inside this lambda will be measured and placed evenly across the row, each taking up equal space.

SecondaryTabRow

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

90

Material Design Fixed Secondary tabs

Secondary tabs are used within a content area to further separate related content and establish hierarchy. Fixed tabs display all tabs in a set simultaneously. To navigate between fixed tabs, tap an individual tab, or swipe left or right in the content area.

A TabRow contains a row of

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

053s, and displays an indicator underneath the currently selected tab. A Fixed TabRow places its tabs evenly spaced along the entire row, with each tab taking up an equal amount of space. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

201 for a tab row that does not enforce equal size, and allows scrolling to tabs that do not fit on screen.

A simple example with text tabs looks like:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

91

Parameters

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

055

the index of the currently selected tab

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this tab row

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

268

the color used for the background of this tab row. Use

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

49 to have no color.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

270

the preferred color for content inside this tab row. Defaults to either the matching content color for

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

291, or to the current

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90 if

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

291 is not a color from the theme.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

294

the indicator that represents which tab is currently selected. By default this will be a

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

216, using a

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

070 modifier to animate its position. Note that this indicator will be forced to fill up the entire tab row, so you should use

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

070 or similar to animate the actual drawn indicator inside this space, and provide an offset from the start.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

071

the divider displayed at the bottom of the tab row. This provides a layer of separation between the tab row and the content displayed underneath.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

072

the tabs inside this tab row. Typically this will be multiple

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

053s. Each element inside this lambda will be measured and placed evenly across the row, each taking up equal space.

SingleChoiceSegmentedButtonRow

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

92

Material Segmented Button.

A Layout to correctly position and size

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

765s in a Row. It handles overlapping items so that strokes of the item are correctly on top of each other.

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

66 is used when the selection only allows one value, for correct semantics.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

93

Slider

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

94

Material Design slider.

Sliders allow users to make selections from a range of values.

Sliders reflect a range of values along a bar, from which users may select a single value. They are ideal for adjusting settings such as volume, brightness, or applying image filters.

Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

303

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

304 which contains the slider's current value.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this slider

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this slider. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

127

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

128 that will be used to resolve the colors used for this slider in different states. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

129.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this slider. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this slider in different states.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

317

the thumb to be displayed on the slider, it is placed on top of the track. The lambda receives a

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

304 which is used to obtain the current active track.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

319

the track to be displayed on the slider, it is placed underneath the thumb. The lambda receives a

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

304 which is used to obtain the current active track.

Slider

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

99

Material Design slider.

Sliders allow users to make selections from a range of values.

It uses

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

131 and

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

132 as the thumb and track.

Sliders reflect a range of values along a bar, from which users may select a single value. They are ideal for adjusting settings such as volume, brightness, or applying image filters.

Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

323

current value of the slider. If outside of

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

324 provided, value will be coerced to this range.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

325

callback in which value should be updated

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this slider

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this slider. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

122

range of values that this slider can take. The passed

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

331 will be coerced to this range.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

124

if greater than 0, specifies the amount of discrete allowable values, evenly distributed across the whole value range. If 0, the slider will behave continuously and allow any value from the range specified. Must not be negative.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

125

called when value change has ended. This should not be used to update the slider value [use

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

334 instead], but rather to know when the user has completed selecting a new value by ending a drag or a click.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

127

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

128 that will be used to resolve the colors used for this slider in different states. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

129.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this slider. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this slider in different states.

Slider

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

02

Material Design slider.

Sliders allow users to make selections from a range of values.

Sliders reflect a range of values along a bar, from which users may select a single value. They are ideal for adjusting settings such as volume, brightness, or applying image filters.

Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

323

current value of the slider. If outside of

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

344 provided, value will be coerced to this range.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

325

callback in which value should be updated

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this slider

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this slider. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

125

called when value change has ended. This should not be used to update the slider value [use

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

351 instead], but rather to know when the user has completed selecting a new value by ending a drag or a click.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

127

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

128 that will be used to resolve the colors used for this slider in different states. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

129.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this slider. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this slider in different states.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

124

if greater than 0, specifies the amount of discrete allowable values, evenly distributed across the whole value range. If 0, the slider will behave continuously and allow any value from the range specified. Must not be negative.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

317

the thumb to be displayed on the slider, it is placed on top of the track. The lambda receives a

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

304 which is used to obtain the current active track.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

319

the track to be displayed on the slider, it is placed underneath the thumb. The lambda receives a

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

304 which is used to obtain the current active track.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

122

range of values that this slider can take. The passed

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

366 will be coerced to this range.

SmallFloatingActionButton

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

07

Material Design small floating action button.

The FAB represents the most important action on a screen. It puts key actions within reach.

Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

08

Parameters

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

called when this FAB is clicked

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this FAB

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

370

defines the shape of this FAB's container and shadow [when using

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

371]

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

312

the color used for the background of this FAB. Use

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

49 to have no color.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

90

the preferred color for content inside this FAB. Defaults to either the matching content color for

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

375, or to the current

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90 if

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

375 is not a color from the theme.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

318

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

319 used to resolve the elevation for this FAB in different states. This controls the size of the shadow below the FAB. Additionally, when the container color is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, this controls the amount of primary color applied as an overlay. See also:

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

56.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this FAB. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this FAB in different states.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

34

the content of this FAB, typically an

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

332

SmallTopAppBar

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

09

Material Design small top app bar.

Top app bars display information and actions at the top of a screen.

This SmallTopAppBar has slots for a title, navigation icon, and actions.

Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

10

A top app bar that uses a

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

389 to customize its nested scrolling behavior when working in conjunction with a scrolling content looks like:

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

11

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

12

use

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

81 instead

Snackbar

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

13

Material Design snackbar.

Snackbars provide brief messages about app processes at the bottom of the screen.

Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

391 provided by the

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

05, which is usually used inside of the

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

09.

This components provides only the visuals of the Snackbar. If you need to show a Snackbar with defaults on the screen, use

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

04:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

85

If you want to customize appearance of the Snackbar, you can pass your own version as a child of the

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

05 to the

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

09:

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

15

When a

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

397 sets the Snackbar's duration as

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

398, it's recommended to display an additional close affordance action. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

399:

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

16

Parameters

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

400

data about the current snackbar showing via

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

401

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this snackbar

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

404

whether or not action should be put on a separate line. Recommended for action with long action text.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

405

defines the shape of this snackbar's container

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

406

the color used for the background of this snackbar. Use

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

49 to have no color.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

408

the preferred color for content inside this snackbar

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

409

the color of the snackbar's action

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

410

the preferred content color for the optional action inside this snackbar. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

411.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

412

the preferred content color for the optional dismiss action inside this snackbar. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

399.

Snackbar

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

17

Material Design snackbar.

Snackbars provide brief messages about app processes at the bottom of the screen.

Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

15

For a multiline sample following the Material recommended spec of a maximum of 2 lines, see:

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

20

Parameters

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this snackbar

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

188

action / button component to add as an action to the snackbar. Consider using

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

420 as the color for the action, if you do not have a predefined color you wish to use instead.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

421

action / button component to add as an additional close affordance action when a snackbar is non self-dismissive. Consider using

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

422 as the color for the action, if you do not have a predefined color you wish to use instead.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

404

whether or not action should be put on a separate line. Recommended for action with long action text.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

405

defines the shape of this snackbar's container

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

406

the color used for the background of this snackbar. Use

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

49 to have no color.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

408

the preferred color for content inside this snackbar

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

410

the preferred content color for the optional

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

429 inside this snackbar

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

412

the preferred content color for the optional

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

431 inside this snackbar

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

34

content to show information about a process that an app has performed or will perform

SnackbarHost

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

21

Host for

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

08s to be used in

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

09 to properly show, hide and dismiss items based on Material specification and the

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

10.

This component with default parameters comes build-in with

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

09, if you need to show a default

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

08, use

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

04.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

85

If you want to customize appearance of the

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

08, you can pass your own version as a child of the

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

05 to the

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

09:

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

15

SuggestionChip

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

24

Material Design suggestion chip.

Chips help people enter information, make selections, filter content, or trigger actions. Chips can show multiple interactive elements together in the same area, such as a list of selectable movie times, or a series of email contacts.

Suggestion chips help narrow a user's intent by presenting dynamically generated suggestions, such as possible responses or search filters.

Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

25

Surface

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

26

Material surface is the central metaphor in material design. Each surface exists at a given elevation, which influences how that piece of surface visually relates to other surfaces and how that surface is modified by tonal variance.

See the other overloads for clickable, selectable, and toggleable surfaces.

The Surface is responsible for:

  1. Clipping: Surface clips its children to the shape specified by

    @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 443
  2. Borders: If

    @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 443 has a border, then it will also be drawn.
  3. Background: Surface fills the shape specified by

    @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 443 with the @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 446. If @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 446 is @Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

        modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit 55 a color overlay will be applied. The color of the overlay depends on the @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 449 of this Surface, and the @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 450 set by any parent surfaces. This ensures that a Surface never appears to have a lower elevation overlay than its ancestors, by summing the elevation of all previous Surfaces.
  4. Content color: Surface uses

    @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 451 to specify a preferred color for the content of this surface - this is used by the import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {
    NavigationBarItem[  
        icon = {  
            BadgedBox[  
                badge = {  
                    Badge {  
                        val badgeNumber = "8"  
                        Text[  
                            badgeNumber,  
                            modifier = Modifier.semantics {  
                                contentDescription = "$badgeNumber new notifications"  
                            }  
                        ]  
                    }  
                }] {  
                Icon[  
                    Icons.Filled.Star,  
                    contentDescription = "Favorite"  
                ]  
            }  
        },  
        selected = false,  
        onClick = {}  
    ]  
    
    } 22 and import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {
    BasicAlertDialog[  
        onDismissRequest = {  
            // Dismiss the dialog when the user clicks outside the dialog or on the back  
            // button. If you want to disable that functionality, simply use an empty  
            // onDismissRequest.  
            openDialog.value = false  
        }  
    ] {  
        Surface[  
            modifier = Modifier  
                .wrapContentWidth[]  
                .wrapContentHeight[],  
            shape = MaterialTheme.shapes.large,  
            tonalElevation = AlertDialogDefaults.TonalElevation  
        ] {  
            Column[modifier = Modifier.padding[16.dp]] {  
                Text[  
                    text = "This area typically contains the supportive text " +  
                        "which presents the details regarding the Dialog's purpose.",  
                ]  
                Spacer[modifier = Modifier.height[24.dp]]  
                TextButton[  
                    onClick = {  
                        openDialog.value = false  
                    },  
                    modifier = Modifier.align[Alignment.End]  
                ] {  
                    Text["Confirm"]  
                }  
            }  
        }  
    }  
    
    } 332 components as a default color.

If no

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

451 is set, this surface will try and match its background color to a color defined in the theme

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

09, and return the corresponding content color. For example, if the

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

446 of this surface is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55,

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

451 will be set to

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

459. If

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

446 is not part of the theme palette,

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

451 will keep the same value set above this Surface.

To manually retrieve the content color inside a surface, use

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90.

  1. Blocking touch propagation behind the surface.

Surface sample:

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

27

Parameters

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

Modifier to be applied to the layout corresponding to the surface

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

464

Defines the surface's shape as well its shadow.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

465

The background color. Use

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

49 to have no color.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

467

The preferred content color provided by this Surface to its children. Defaults to either the matching content color for

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

446, or if

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

446 is not a color from the theme, this will keep the same value set above this Surface.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

470

When

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

446 is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, a higher the elevation will result in a darker color in light theme and lighter color in dark theme.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

473

The size of the shadow below the surface. To prevent shadow creep, only apply shadow elevation when absolutely necessary, such as when the surface requires visual separation from a patterned background. Note that It will not affect z index of the Surface. If you want to change the drawing order you can use

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

474.

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

40

Optional border to draw on top of the surface

Surface

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

28

Material surface is the central metaphor in material design. Each surface exists at a given elevation, which influences how that piece of surface visually relates to other surfaces and how that surface is modified by tonal variance.

This version of Surface is responsible for a click handling as well as everything else that a regular Surface does:

This clickable Surface is responsible for:

  1. Clipping: Surface clips its children to the shape specified by

    @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 476
  2. Borders: If

    @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 476 has a border, then it will also be drawn.
  3. Background: Surface fills the shape specified by

    @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 476 with the @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 479. If @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 479 is @Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

        modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit 55 a color overlay may be applied. The color of the overlay depends on the @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 482 of this Surface, and the @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 450 set by any parent surfaces. This ensures that a Surface never appears to have a lower elevation overlay than its ancestors, by summing the elevation of all previous Surfaces.
  4. Content color: Surface uses

    @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 484 to specify a preferred color for the content of this surface - this is used by the import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

    NavigationBarItem[  
        icon = {  
            BadgedBox[  
                badge = {  
                    Badge {  
                        val badgeNumber = "8"  
                        Text[  
                            badgeNumber,  
                            modifier = Modifier.semantics {  
                                contentDescription = "$badgeNumber new notifications"  
                            }  
                        ]  
                    }  
                }] {  
                Icon[  
                    Icons.Filled.Star,  
                    contentDescription = "Favorite"  
                ]  
            }  
        },  
        selected = false,  
        onClick = {}  
    ]  
    
    } 22 and import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {
    BasicAlertDialog[  
        onDismissRequest = {  
            // Dismiss the dialog when the user clicks outside the dialog or on the back  
            // button. If you want to disable that functionality, simply use an empty  
            // onDismissRequest.  
            openDialog.value = false  
        }  
    ] {  
        Surface[  
            modifier = Modifier  
                .wrapContentWidth[]  
                .wrapContentHeight[],  
            shape = MaterialTheme.shapes.large,  
            tonalElevation = AlertDialogDefaults.TonalElevation  
        ] {  
            Column[modifier = Modifier.padding[16.dp]] {  
                Text[  
                    text = "This area typically contains the supportive text " +  
                        "which presents the details regarding the Dialog's purpose.",  
                ]  
                Spacer[modifier = Modifier.height[24.dp]]  
                TextButton[  
                    onClick = {  
                        openDialog.value = false  
                    },  
                    modifier = Modifier.align[Alignment.End]  
                ] {  
                    Text["Confirm"]  
                }  
            }  
        }  
    }  
    
    } 332 components as a default color. If no @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 484 is set, this surface will try and match its background color to a color defined in the theme import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

    AlertDialog[  
        onDismissRequest = {  
            // Dismiss the dialog when the user clicks outside the dialog or on the back  
            // button. If you want to disable that functionality, simply use an empty  
            // onDismissRequest.  
            openDialog.value = false  
        },  
        title = {  
            Text[text = "Title"]  
        },  
        text = {  
            Text[text = "Turned on by default"]  
        },  
        confirmButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Confirm"]  
            }  
        },  
        dismissButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Dismiss"]  
            }  
        }  
    ]  
    
    } 09, and return the corresponding content color. For example, if the @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 479 of this surface is @Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

        modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit 55, @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 484 will be set to @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 459. If @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 479 is not part of the theme palette, @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 484 will keep the same value set above this Surface.
  5. Click handling. This version of surface will react to the clicks, calling

    @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 495 lambda, updating the @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 496 when @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 497 occurs, and showing ripple indication in response to press events. If you don't need click handling, consider using the Surface function that doesn't require @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 495 param. If you need to set a custom label for the @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 495, apply a @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 500 to the Surface.
  6. Semantics for clicks. Just like with

    @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 501, clickable version of Surface will produce semantics to indicate that it is clicked. No semantic role is set by default, you may specify one by passing a desired @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 502 with a import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {
    BasicAlertDialog[  
        onDismissRequest = {  
            // Dismiss the dialog when the user clicks outside the dialog or on the back  
            // button. If you want to disable that functionality, simply use an empty  
            // onDismissRequest.  
            openDialog.value = false  
        }  
    ] {  
        Surface[  
            modifier = Modifier  
                .wrapContentWidth[]  
                .wrapContentHeight[],  
            shape = MaterialTheme.shapes.large,  
            tonalElevation = AlertDialogDefaults.TonalElevation  
        ] {  
            Column[modifier = Modifier.padding[16.dp]] {  
                Text[  
                    text = "This area typically contains the supportive text " +  
                        "which presents the details regarding the Dialog's purpose.",  
                ]  
                Spacer[modifier = Modifier.height[24.dp]]  
                TextButton[  
                    onClick = {  
                        openDialog.value = false  
                    },  
                    modifier = Modifier.align[Alignment.End]  
                ] {  
                    Text["Confirm"]  
                }  
            }  
        }  
    }  
    
    } 329.

To manually retrieve the content color inside a surface, use

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90.

Clickable surface sample:

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

29

Parameters

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

callback to be called when the surface is clicked

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

Modifier to be applied to the layout corresponding to the surface

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

Controls the enabled state of the surface. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this surface will not be clickable

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

464

Defines the surface's shape as well its shadow. A shadow is only displayed if the

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

482 is greater than zero.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

465

The background color. Use

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

49 to have no color.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

467

The preferred content color provided by this Surface to its children. Defaults to either the matching content color for

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

479, or if

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

479 is not a color from the theme, this will keep the same value set above this Surface.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

470

When

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

479 is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, a higher the elevation will result in a darker color in light theme and lighter color in dark theme.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

473

The size of the shadow below the surface. Note that It will not affect z index of the Surface. If you want to change the drawing order you can use

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

474.

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

40

Optional border to draw on top of the surface

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this Surface. You can create and pass in your own remembered

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 if you want to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this Surface in different

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s.

Surface

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

30

Material surface is the central metaphor in material design. Each surface exists at a given elevation, which influences how that piece of surface visually relates to other surfaces and how that surface is modified by tonal variance.

This version of Surface is responsible for a toggling its checked state as well as everything else that a regular Surface does:

This toggleable Surface is responsible for:

  1. Clipping: Surface clips its children to the shape specified by

    @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 528
  2. Borders: If

    @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 528 has a border, then it will also be drawn.
  3. Background: Surface fills the shape specified by

    @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 528 with the @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 531. If @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 531 is @Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

        modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit 55 a color overlay may be applied. The color of the overlay depends on the @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 534 of this Surface, and the @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 450 set by any parent surfaces. This ensures that a Surface never appears to have a lower elevation overlay than its ancestors, by summing the elevation of all previous Surfaces.
  4. Content color: Surface uses

    @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 536 to specify a preferred color for the content of this surface - this is used by the import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

    NavigationBarItem[  
        icon = {  
            BadgedBox[  
                badge = {  
                    Badge {  
                        val badgeNumber = "8"  
                        Text[  
                            badgeNumber,  
                            modifier = Modifier.semantics {  
                                contentDescription = "$badgeNumber new notifications"  
                            }  
                        ]  
                    }  
                }] {  
                Icon[  
                    Icons.Filled.Star,  
                    contentDescription = "Favorite"  
                ]  
            }  
        },  
        selected = false,  
        onClick = {}  
    ]  
    
    } 22 and import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {
    BasicAlertDialog[  
        onDismissRequest = {  
            // Dismiss the dialog when the user clicks outside the dialog or on the back  
            // button. If you want to disable that functionality, simply use an empty  
            // onDismissRequest.  
            openDialog.value = false  
        }  
    ] {  
        Surface[  
            modifier = Modifier  
                .wrapContentWidth[]  
                .wrapContentHeight[],  
            shape = MaterialTheme.shapes.large,  
            tonalElevation = AlertDialogDefaults.TonalElevation  
        ] {  
            Column[modifier = Modifier.padding[16.dp]] {  
                Text[  
                    text = "This area typically contains the supportive text " +  
                        "which presents the details regarding the Dialog's purpose.",  
                ]  
                Spacer[modifier = Modifier.height[24.dp]]  
                TextButton[  
                    onClick = {  
                        openDialog.value = false  
                    },  
                    modifier = Modifier.align[Alignment.End]  
                ] {  
                    Text["Confirm"]  
                }  
            }  
        }  
    }  
    
    } 332 components as a default color. If no @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 536 is set, this surface will try and match its background color to a color defined in the theme import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

    AlertDialog[  
        onDismissRequest = {  
            // Dismiss the dialog when the user clicks outside the dialog or on the back  
            // button. If you want to disable that functionality, simply use an empty  
            // onDismissRequest.  
            openDialog.value = false  
        },  
        title = {  
            Text[text = "Title"]  
        },  
        text = {  
            Text[text = "Turned on by default"]  
        },  
        confirmButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Confirm"]  
            }  
        },  
        dismissButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Dismiss"]  
            }  
        }  
    ]  
    
    } 09, and return the corresponding content color. For example, if the @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 531 of this surface is @Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

        modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit 55, @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 536 will be set to @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 459. If @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 531 is not part of the theme palette, @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 536 will keep the same value set above this Surface.
  5. Click handling. This version of surface will react to the check toggles, calling

    @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 547 lambda, updating the @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 548 when @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 497 occurs, and showing ripple indication in response to press events. If you don't need check handling, consider using a Surface function that doesn't require @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 547 param.
  6. Semantics for toggle. Just like with

    @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 551, toggleable version of Surface will produce semantics to indicate that it is checked. No semantic role is set by default, you may specify one by passing a desired @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 502 with a import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {
    BasicAlertDialog[  
        onDismissRequest = {  
            // Dismiss the dialog when the user clicks outside the dialog or on the back  
            // button. If you want to disable that functionality, simply use an empty  
            // onDismissRequest.  
            openDialog.value = false  
        }  
    ] {  
        Surface[  
            modifier = Modifier  
                .wrapContentWidth[]  
                .wrapContentHeight[],  
            shape = MaterialTheme.shapes.large,  
            tonalElevation = AlertDialogDefaults.TonalElevation  
        ] {  
            Column[modifier = Modifier.padding[16.dp]] {  
                Text[  
                    text = "This area typically contains the supportive text " +  
                        "which presents the details regarding the Dialog's purpose.",  
                ]  
                Spacer[modifier = Modifier.height[24.dp]]  
                TextButton[  
                    onClick = {  
                        openDialog.value = false  
                    },  
                    modifier = Modifier.align[Alignment.End]  
                ] {  
                    Text["Confirm"]  
                }  
            }  
        }  
    }  
    
    } 329.

To manually retrieve the content color inside a surface, use

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90.

Toggleable surface sample:

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

31

Parameters

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

83

whether or not this Surface is toggled on or off

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

380

callback to be invoked when the toggleable Surface is clicked

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

Modifier to be applied to the layout corresponding to the surface

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

Controls the enabled state of the surface. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this surface will not be clickable

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

464

Defines the surface's shape as well its shadow. A shadow is only displayed if the

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

534 is greater than zero.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

465

The background color. Use

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

49 to have no color.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

467

The preferred content color provided by this Surface to its children. Defaults to either the matching content color for

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

531, or if

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

531 is not a color from the theme, this will keep the same value set above this Surface.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

470

When

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

531 is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, a higher the elevation will result in a darker color in light theme and lighter color in dark theme.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

473

The size of the shadow below the surface. Note that It will not affect z index of the Surface. If you want to change the drawing order you can use

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

474.

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

40

Optional border to draw on top of the surface

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this Surface. You can create and pass in your own remembered

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 if you want to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this Surface in different

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s.

Surface

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

32

Material surface is the central metaphor in material design. Each surface exists at a given elevation, which influences how that piece of surface visually relates to other surfaces and how that surface is modified by tonal variance.

This version of Surface is responsible for a selection handling as well as everything else that a regular Surface does:

This selectable Surface is responsible for:

  1. Clipping: Surface clips its children to the shape specified by

    @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 579
  2. Borders: If

    @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 579 has a border, then it will also be drawn.
  3. Background: Surface fills the shape specified by

    @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 579 with the @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 582. If @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 582 is @Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

        modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit 55 a color overlay may be applied. The color of the overlay depends on the @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 585 of this Surface, and the @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 450 set by any parent surfaces. This ensures that a Surface never appears to have a lower elevation overlay than its ancestors, by summing the elevation of all previous Surfaces.
  4. Content color: Surface uses

    @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 587 to specify a preferred color for the content of this surface - this is used by the import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

    NavigationBarItem[  
        icon = {  
            BadgedBox[  
                badge = {  
                    Badge {  
                        val badgeNumber = "8"  
                        Text[  
                            badgeNumber,  
                            modifier = Modifier.semantics {  
                                contentDescription = "$badgeNumber new notifications"  
                            }  
                        ]  
                    }  
                }] {  
                Icon[  
                    Icons.Filled.Star,  
                    contentDescription = "Favorite"  
                ]  
            }  
        },  
        selected = false,  
        onClick = {}  
    ]  
    
    } 22 and import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {
    BasicAlertDialog[  
        onDismissRequest = {  
            // Dismiss the dialog when the user clicks outside the dialog or on the back  
            // button. If you want to disable that functionality, simply use an empty  
            // onDismissRequest.  
            openDialog.value = false  
        }  
    ] {  
        Surface[  
            modifier = Modifier  
                .wrapContentWidth[]  
                .wrapContentHeight[],  
            shape = MaterialTheme.shapes.large,  
            tonalElevation = AlertDialogDefaults.TonalElevation  
        ] {  
            Column[modifier = Modifier.padding[16.dp]] {  
                Text[  
                    text = "This area typically contains the supportive text " +  
                        "which presents the details regarding the Dialog's purpose.",  
                ]  
                Spacer[modifier = Modifier.height[24.dp]]  
                TextButton[  
                    onClick = {  
                        openDialog.value = false  
                    },  
                    modifier = Modifier.align[Alignment.End]  
                ] {  
                    Text["Confirm"]  
                }  
            }  
        }  
    }  
    
    } 332 components as a default color. If no @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 587 is set, this surface will try and match its background color to a color defined in the theme import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

    AlertDialog[  
        onDismissRequest = {  
            // Dismiss the dialog when the user clicks outside the dialog or on the back  
            // button. If you want to disable that functionality, simply use an empty  
            // onDismissRequest.  
            openDialog.value = false  
        },  
        title = {  
            Text[text = "Title"]  
        },  
        text = {  
            Text[text = "Turned on by default"]  
        },  
        confirmButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Confirm"]  
            }  
        },  
        dismissButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Dismiss"]  
            }  
        }  
    ]  
    
    } 09, and return the corresponding content color. For example, if the @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 582 of this surface is @Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

        modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit 55, @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 587 will be set to @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 459. If @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 582 is not part of the theme palette, @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 587 will keep the same value set above this Surface.
  5. Click handling. This version of surface will react to the clicks, calling

    @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 598 lambda, updating the @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 599 when @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 497 occurs, and showing ripple indication in response to press events. If you don't need click handling, consider using the Surface function that doesn't require @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 598 param.
  6. Semantics for selection. Just like with

    @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 602, selectable version of Surface will produce semantics to indicate that it is selected. No semantic role is set by default, you may specify one by passing a desired @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 502 with a import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {
    BasicAlertDialog[  
        onDismissRequest = {  
            // Dismiss the dialog when the user clicks outside the dialog or on the back  
            // button. If you want to disable that functionality, simply use an empty  
            // onDismissRequest.  
            openDialog.value = false  
        }  
    ] {  
        Surface[  
            modifier = Modifier  
                .wrapContentWidth[]  
                .wrapContentHeight[],  
            shape = MaterialTheme.shapes.large,  
            tonalElevation = AlertDialogDefaults.TonalElevation  
        ] {  
            Column[modifier = Modifier.padding[16.dp]] {  
                Text[  
                    text = "This area typically contains the supportive text " +  
                        "which presents the details regarding the Dialog's purpose.",  
                ]  
                Spacer[modifier = Modifier.height[24.dp]]  
                TextButton[  
                    onClick = {  
                        openDialog.value = false  
                    },  
                    modifier = Modifier.align[Alignment.End]  
                ] {  
                    Text["Confirm"]  
                }  
            }  
        }  
    }  
    
    } 329.

To manually retrieve the content color inside a surface, use

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90.

Selectable surface sample:

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

33

Parameters

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

471

whether or not this Surface is selected

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

callback to be called when the surface is clicked

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

Modifier to be applied to the layout corresponding to the surface

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

Controls the enabled state of the surface. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this surface will not be clickable

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

464

Defines the surface's shape as well its shadow. A shadow is only displayed if the

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

585 is greater than zero.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

465

The background color. Use

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

49 to have no color.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

467

The preferred content color provided by this Surface to its children. Defaults to either the matching content color for

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

582, or if

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

582 is not a color from the theme, this will keep the same value set above this Surface.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

470

When

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

582 is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, a higher the elevation will result in a darker color in light theme and lighter color in dark theme.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

473

The size of the shadow below the surface. Note that It will not affect z index of the Surface. If you want to change the drawing order you can use

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

474.

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

40

Optional border to draw on top of the surface

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this Surface. You can create and pass in your own remembered

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 if you want to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this Surface in different

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s.

SwipeToDismiss

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

34

A composable that can be dismissed by swiping left or right.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

35

Parameters

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

630

The state of this component.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

631

A composable that is stacked behind the content and is exposed when the content is swiped. You can/should use the

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

632 to have different backgrounds on each side.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

633

The content that can be dismissed.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

Optional

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 for this component.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

636

The set of directions in which the component can be dismissed.

SwipeToDismissBox

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

36

A composable that can be dismissed by swiping left or right.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

35

Parameters

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

630

The state of this component.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

638

A composable that is stacked behind the

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

639 and is exposed when the content is swiped. You can/should use the

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

640 to have different backgrounds on each side.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

Optional

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 for this component.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

643

Whether SwipeToDismissBox can be dismissed from start to end.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

644

Whether SwipeToDismissBox can be dismissed from end to start.

@Composable fun [BadgedBox][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

BadgedBox%28kotlin.Function1,androidx.compose.ui.Modifier,kotlin.Function1%29][

    badge: @Composable BoxScope.[] -> Unit,     modifier: Modifier = Modifier,     content: @Composable BoxScope.[] -> Unit ]: Unit

19

The content that can be dismissed.

Switch

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

38

Material Design Switch.

Switches toggle the state of a single item on or off.

Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

39

Switch can be used with a custom icon via

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

646 parameter

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

40

Parameters

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

83

whether or not this switch is checked

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

84

called when this switch is clicked. If

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

79, then this switch will not be interactable, unless something else handles its input events and updates its state.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this switch

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

652

content that will be drawn inside the thumb, expected to measure

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

653

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this switch. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

656

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

657 that will be used to resolve the colors used for this switch in different states. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

658.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this switch. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this switch in different states.

Tab

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

41

Material Design tab.

Tabs organize content across different screens, data sets, and other interactions.

Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

053 overload that is not opinionated about content / color. See the other overload for a Tab that has specific slots for text and / or an icon, as well as providing the correct colors for selected / unselected states.

A custom tab using this API may look like:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

63

Parameters

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

471

whether this tab is selected or not

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

called when this tab is clicked

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this tab

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this tab. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

680

the color for the content of this tab when selected, and the color of the ripple.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

681

the color for the content of this tab when not selected

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this tab. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this tab in different states.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

042

the content of this tab

Tab

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

43

Material Design tab.

A default Tab, also known as a Primary Navigation Tab. Tabs organize content across different screens, data sets, and other interactions.

Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

679.

This should typically be used inside of a

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

75, see the corresponding documentation for example usage.

This Tab has slots for

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

681 and/or

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

682 - see the other Tab overload for a generic Tab that is not opinionated about its content.

Parameters

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

471

whether this tab is selected or not

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

called when this tab is clicked

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this tab

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this tab. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

46

the text label displayed in this tab

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

41

the icon displayed in this tab

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

680

the color for the content of this tab when selected, and the color of the ripple.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

681

the color for the content of this tab when not selected

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this tab. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this tab in different states.

TabRow

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

44

Material Design tabs

Material Design fixed tabs.

For primary indicator tabs, use

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

054. For secondary indicator tabs, use

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

262.

Fixed tabs display all tabs in a set simultaneously. They are best for switching between related content quickly, such as between transportation methods in a map. To navigate between fixed tabs, tap an individual tab, or swipe left or right in the content area.

A TabRow contains a row of

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

053s, and displays an indicator underneath the currently selected tab. A TabRow places its tabs evenly spaced along the entire row, with each tab taking up an equal amount of space. See

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

76 for a tab row that does not enforce equal size, and allows scrolling to tabs that do not fit on screen.

A simple example with text tabs looks like:

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

45

You can also provide your own custom tab, such as:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

62

Where the custom tab itself could look like:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

63

As well as customizing the tab, you can also provide a custom

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

702, to customize the indicator displayed for a tab.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

702 will be placed to fill the entire TabRow, so it should internally take care of sizing and positioning the indicator to match changes to

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

704.

For example, given an indicator that draws a rounded rectangle near the edges of the

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

053:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

64

We can reuse

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

070 and just provide this indicator, as we aren't changing how the size and position of the indicator changes between tabs:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

65

You may also want to use a custom transition, to allow you to dynamically change the appearance of the indicator as it animates between tabs, such as changing its color or size.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

702 is stacked on top of the entire TabRow, so you just need to provide a custom transition that animates the offset of the indicator from the start of the TabRow. For example, take the following example that uses a transition to animate the offset, width, and color of the same FancyIndicator from before, also adding a physics based 'spring' effect to the indicator in the direction of motion:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

66

We can now just pass this indicator directly to TabRow:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

67

Parameters

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

055

the index of the currently selected tab

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this tab row

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

060

the color used for the background of this tab row. Use

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

49 to have no color.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

062

the preferred color for content inside this tab row. Defaults to either the matching content color for

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

714, or to the current

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90 if

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

714 is not a color from the theme.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

717

the indicator that represents which tab is currently selected. By default this will be a

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

216, using a

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

070 modifier to animate its position. Note that this indicator will be forced to fill up the entire tab row, so you should use

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

070 or similar to animate the actual drawn indicator inside this space, and provide an offset from the start.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

071

the divider displayed at the bottom of the tab row. This provides a layer of separation between the tab row and the content displayed underneath.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

072

the tabs inside this tab row. Typically this will be multiple

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

053s. Each element inside this lambda will be measured and placed evenly across the row, each taking up equal space.

Text

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

52

High level element that displays text and provides semantics / accessibility information.

The default

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

724 uses the

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

69 provided by the

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

726 / components. If you are setting your own style, you may want to consider first retrieving

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

69, and using

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

728 to keep any theme defined attributes, only modifying the specific attributes you want to override.

For ease of use, commonly used parameters from

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

729 are also present here. The order of precedence is as follows:

  • If a parameter is explicitly set here [i.e, it is not

    @Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

        modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit 79 or @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 731], then this parameter will always be used.
  • If a parameter is not set, [

    @Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

        modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit 79 or @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 731], then the corresponding value from @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 724 will be used instead.

Additionally, for

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

735, if

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

735 is not set, and

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

724 does not have a color, then

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90 will be used.

Parameters

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

739

the text to be displayed

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this layout node

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

742

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

58 to apply to the text. If

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

532, and

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

724 has no color set, this will be

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

747

the size of glyphs to use when painting the text. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

748.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

749

the typeface variant to use when drawing the letters [e.g., italic]. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

750.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

751

the typeface thickness to use when painting the text [e.g.,

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

752].

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

753

the font family to be used when rendering the text. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

754.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

755

the amount of space to add between each letter. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

756.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

757

the decorations to paint on the text [e.g., an underline]. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

758.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

759

the alignment of the text within the lines of the paragraph. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

760.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

761

line height for the

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

762 in

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

763 unit, e.g. SP or EM. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

764.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

765

how visual overflow should be handled.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

766

whether the text should break at soft line breaks. If false, the glyphs in the text will be positioned as if there was unlimited horizontal space. If

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

767 is false,

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

768 and TextAlign may have unexpected effects.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

769

An optional maximum number of lines for the text to span, wrapping if necessary. If the text exceeds the given number of lines, it will be truncated according to

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

768 and

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

767. It is required that 1 Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

772 Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

773.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

968

The minimum height in terms of minimum number of visible lines. It is required that 1 Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

772 Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

773.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

777

callback that is executed when a new text layout is calculated. A

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

778 object that callback provides contains paragraph information, size of the text, baselines and other details. The callback can be used to add additional decoration or functionality to the text. For example, to draw selection around the text.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

779

style configuration for the text such as color, font, line height etc.

Text

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

53

High level element that displays text and provides semantics / accessibility information.

The default

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

780 uses the

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

69 provided by the

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

726 / components. If you are setting your own style, you may want to consider first retrieving

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

69, and using

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

728 to keep any theme defined attributes, only modifying the specific attributes you want to override.

For ease of use, commonly used parameters from

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

729 are also present here. The order of precedence is as follows:

  • If a parameter is explicitly set here [i.e, it is not

    @Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

        modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit 79 or @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 731], then this parameter will always be used.
  • If a parameter is not set, [

    @Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

        modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit 79 or @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 731], then the corresponding value from @Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

    AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

        onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit 780 will be used instead.

Additionally, for

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

791, if

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

791 is not set, and

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

780 does not have a color, then

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90 will be used.

Parameters

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

795

the text to be displayed

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this layout node

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

742

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

58 to apply to the text. If

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

532, and

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

780 has no color set, this will be

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

90.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

747

the size of glyphs to use when painting the text. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

748.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

749

the typeface variant to use when drawing the letters [e.g., italic]. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

750.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

751

the typeface thickness to use when painting the text [e.g.,

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

752].

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

753

the font family to be used when rendering the text. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

754.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

755

the amount of space to add between each letter. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

756.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

757

the decorations to paint on the text [e.g., an underline]. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

758.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

759

the alignment of the text within the lines of the paragraph. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

760.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

761

line height for the

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

762 in

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

763 unit, e.g. SP or EM. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

764.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

765

how visual overflow should be handled.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

766

whether the text should break at soft line breaks. If false, the glyphs in the text will be positioned as if there was unlimited horizontal space. If

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

823 is false,

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

824 and TextAlign may have unexpected effects.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

769

An optional maximum number of lines for the text to span, wrapping if necessary. If the text exceeds the given number of lines, it will be truncated according to

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

824 and

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

823. It is required that 1 Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

828 Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

829.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

968

The minimum height in terms of minimum number of visible lines. It is required that 1 Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

828 Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

829.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

833

a map storing composables that replaces certain ranges of the text, used to insert composables into text layout. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

834.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

835

callback that is executed when a new text layout is calculated. A

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

778 object that callback provides contains paragraph information, size of the text, baselines and other details. The callback can be used to add additional decoration or functionality to the text. For example, to draw selection around the text.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

779

style configuration for the text such as color, font, line height etc.

TextButton

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

54

Material Design text button.

Buttons help people initiate actions, from sending an email, to sharing a document, to liking a post.

Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

55

Choose the best button for an action based on the amount of emphasis it needs. The more important an action is, the higher emphasis its button should be.

  • See import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {
    AlertDialog[  
        onDismissRequest = {  
            // Dismiss the dialog when the user clicks outside the dialog or on the back  
            // button. If you want to disable that functionality, simply use an empty  
            // onDismissRequest.  
            openDialog.value = false  
        },  
        title = {  
            Text[text = "Title"]  
        },  
        text = {  
            Text[text = "Turned on by default"]  
        },  
        confirmButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Confirm"]  
            }  
        },  
        dismissButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Dismiss"]  
            }  
        }  
    ]  
    
    } 18 for a high-emphasis button without a shadow, also known as a filled button.
  • See import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {
    AlertDialog[  
        onDismissRequest = {  
            // Dismiss the dialog when the user clicks outside the dialog or on the back  
            // button. If you want to disable that functionality, simply use an empty  
            // onDismissRequest.  
            openDialog.value = false  
        },  
        title = {  
            Text[text = "Title"]  
        },  
        text = {  
            Text[text = "Turned on by default"]  
        },  
        confirmButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Confirm"]  
            }  
        },  
        dismissButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Dismiss"]  
            }  
        }  
    ]  
    
    } 19 for a import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {
    AlertDialog[  
        onDismissRequest = {  
            // Dismiss the dialog when the user clicks outside the dialog or on the back  
            // button. If you want to disable that functionality, simply use an empty  
            // onDismissRequest.  
            openDialog.value = false  
        },  
        title = {  
            Text[text = "Title"]  
        },  
        text = {  
            Text[text = "Turned on by default"]  
        },  
        confirmButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Confirm"]  
            }  
        },  
        dismissButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Dismiss"]  
            }  
        }  
    ]  
    
    } 20 with a shadow.
  • See import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {
    AlertDialog[  
        onDismissRequest = {  
            // Dismiss the dialog when the user clicks outside the dialog or on the back  
            // button. If you want to disable that functionality, simply use an empty  
            // onDismissRequest.  
            openDialog.value = false  
        },  
        title = {  
            Text[text = "Title"]  
        },  
        text = {  
            Text[text = "Turned on by default"]  
        },  
        confirmButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Confirm"]  
            }  
        },  
        dismissButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Dismiss"]  
            }  
        }  
    ]  
    
    } 20 for a middle ground between import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {
    AlertDialog[  
        onDismissRequest = {  
            // Dismiss the dialog when the user clicks outside the dialog or on the back  
            // button. If you want to disable that functionality, simply use an empty  
            // onDismissRequest.  
            openDialog.value = false  
        },  
        title = {  
            Text[text = "Title"]  
        },  
        text = {  
            Text[text = "Turned on by default"]  
        },  
        confirmButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Confirm"]  
            }  
        },  
        dismissButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Dismiss"]  
            }  
        }  
    ]  
    
    } 21 and import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {
    AlertDialog[  
        onDismissRequest = {  
            // Dismiss the dialog when the user clicks outside the dialog or on the back  
            // button. If you want to disable that functionality, simply use an empty  
            // onDismissRequest.  
            openDialog.value = false  
        },  
        title = {  
            Text[text = "Title"]  
        },  
        text = {  
            Text[text = "Turned on by default"]  
        },  
        confirmButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Confirm"]  
            }  
        },  
        dismissButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Dismiss"]  
            }  
        }  
    ]  
    
    } 18.
  • See import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {
    AlertDialog[  
        onDismissRequest = {  
            // Dismiss the dialog when the user clicks outside the dialog or on the back  
            // button. If you want to disable that functionality, simply use an empty  
            // onDismissRequest.  
            openDialog.value = false  
        },  
        title = {  
            Text[text = "Title"]  
        },  
        text = {  
            Text[text = "Turned on by default"]  
        },  
        confirmButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Confirm"]  
            }  
        },  
        dismissButton = {  
            TextButton[  
                onClick = {  
                    openDialog.value = false  
                }  
            ] {  
                Text["Dismiss"]  
            }  
        }  
    ]  
    
    } 21 for a medium-emphasis button with a border.

The default text style for internal

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

22 components will be set to

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

23.

Parameters

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

called when this button is clicked

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this button

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this button. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

852

defines the shape of this button's container, border [when

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

853 is not null], and shadow [when using

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

854]

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

855

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

33 that will be used to resolve the colors for this button in different states. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

857.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

835

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

36 used to resolve the elevation for this button in different states. This controls the size of the shadow below the button. Additionally, when the container color is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, this controls the amount of primary color applied as an overlay. A TextButton typically has no elevation, and the default value is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

79. See

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

19 for a button with elevation.

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

40

the border to draw around the container of this button

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

864

the spacing values to apply internally between the container and the content

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this button. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this button in different states.

TextField

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

56

Material Design filled text field.

Text fields allow users to enter text into a UI. They typically appear in forms and dialogs. Filled text fields have more visual emphasis than outlined text fields, making them stand out when surrounded by other content and components.

Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

57

You may provide a placeholder:

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

58

You can also provide leading and trailing icons:

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

59

You can also provide a prefix or suffix to the text:

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

60

To handle the error input state, use

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

871 parameter:

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

61

Additionally, you may provide additional message at the bottom:

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

62

Password text field example:

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

63

Hiding a software keyboard on IME action performed:

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

64

If apart from input text change you also want to observe the cursor location, selection range, or IME composition use the TextField overload with the

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

928 parameter instead.

Parameters

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

929

the input text to be shown in the text field

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

930

the callback that is triggered when the input service updates the text. An updated text comes as a parameter of the callback

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this text field

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this text field. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

935

controls the editable state of the text field. When

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

936, the text field cannot be modified. However, a user can focus it and copy text from it. Read-only text fields are usually used to display pre-filled forms that a user cannot edit.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

937

the style to be applied to the input text. Defaults to

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

69.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

805

the optional label to be displayed inside the text field container. The default text style for internal

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

22 is

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

941 when the text field is in focus and

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

942 when the text field is not in focus

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

123

the optional placeholder to be displayed when the text field is in focus and the input text is empty. The default text style for internal

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

22 is

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

942

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

65

the optional leading icon to be displayed at the beginning of the text field container

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

67

the optional trailing icon to be displayed at the end of the text field container

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

948

the optional prefix to be displayed before the input text in the text field

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

949

the optional suffix to be displayed after the input text in the text field

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

950

the optional supporting text to be displayed below the text field

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

951

indicates if the text field's current value is in error. If set to true, the label, bottom indicator and trailing icon by default will be displayed in error color

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

952

transforms the visual representation of the input

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

897 For example, you can use

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

954 to create a password text field. By default, no visual transformation is applied.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

955

software keyboard options that contains configuration such as

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

956 and

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

957.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

958

when the input service emits an IME action, the corresponding callback is called. Note that this IME action may be different from what you specified in

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

959.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

960

when

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

936, this text field becomes a single horizontally scrolling text field instead of wrapping onto multiple lines. The keyboard will be informed to not show the return key as the

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

957. Note that

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

907 parameter will be ignored as the maxLines attribute will be automatically set to 1.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

964

the maximum height in terms of maximum number of visible lines. It is required that 1 Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

909 Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

907. This parameter is ignored when

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

911 is true.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

968

the minimum height in terms of minimum number of visible lines. It is required that 1 Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

909 Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

907. This parameter is ignored when

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

911 is true.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this text field. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this text field in different states.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

921

defines the shape of this text field's container

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

922

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

979 that will be used to resolve the colors used for this text field in different states. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

924.

TextField

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

65

Material Design filled text field.

Text fields allow users to enter text into a UI. They typically appear in forms and dialogs. Filled text fields have more visual emphasis than outlined text fields, making them stand out when surrounded by other content and components.

Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

66

This overload provides access to the input text, cursor position, selection range and IME composition. If you only want to observe an input text change, use the TextField overload with the

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

66 parameter instead.

Parameters

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

982

the input

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

928 to be shown in the text field

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

984

the callback that is triggered when the input service updates values in

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

928. An updated

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

928 comes as a parameter of the callback

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this text field

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this text field. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

935

controls the editable state of the text field. When

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

936, the text field cannot be modified. However, a user can focus it and copy text from it. Read-only text fields are usually used to display pre-filled forms that a user cannot edit.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

937

the style to be applied to the input text. Defaults to

@Composable fun [AssistChip][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AssistChip%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ChipColors,androidx.compose.material3.ChipElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.interaction.MutableInteractionSource%29][

    onClick: [] -> Unit,     label: @Composable [] -> Unit,     modifier: Modifier = Modifier,     enabled: Boolean = true,     leadingIcon: [@Composable [] -> Unit]? = null,     trailingIcon: [@Composable [] -> Unit]? = null,     shape: Shape = AssistChipDefaults.shape,     colors: ChipColors = AssistChipDefaults.assistChipColors[],     elevation: ChipElevation? = AssistChipDefaults.assistChipElevation[],     border: BorderStroke? = AssistChipDefaults.assistChipBorder[enabled],     interactionSource: MutableInteractionSource = remember { MutableInteractionSource[] } ]: Unit

69.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

805

the optional label to be displayed inside the text field container. The default text style for internal

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

22 is

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

941 when the text field is in focus and

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

942 when the text field is not in focus

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

123

the optional placeholder to be displayed when the text field is in focus and the input text is empty. The default text style for internal

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

22 is

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

942

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

65

the optional leading icon to be displayed at the beginning of the text field container

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

67

the optional trailing icon to be displayed at the end of the text field container

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

948

the optional prefix to be displayed before the input text in the text field

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

949

the optional suffix to be displayed after the input text in the text field

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

950

the optional supporting text to be displayed below the text field

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

951

indicates if the text field's current value is in error state. If set to true, the label, bottom indicator and trailing icon by default will be displayed in error color

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

952

transforms the visual representation of the input

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

954. For example, you can use

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

954 to create a password text field. By default, no visual transformation is applied.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

955

software keyboard options that contains configuration such as

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

956 and

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

957.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

958

when the input service emits an IME action, the corresponding callback is called. Note that this IME action may be different from what you specified in

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

959.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

960

when

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

936, this text field becomes a single horizontally scrolling text field instead of wrapping onto multiple lines. The keyboard will be informed to not show the return key as the

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

957. Note that

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

964 parameter will be ignored as the maxLines attribute will be automatically set to 1.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

964

the maximum height in terms of maximum number of visible lines. It is required that 1 Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

966 Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

964. This parameter is ignored when

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

968 is true.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

968

the minimum height in terms of minimum number of visible lines. It is required that 1 Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

966 Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

964. This parameter is ignored when

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

968 is true.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this text field. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this text field in different states.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

921

defines the shape of this text field's container

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

922

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

979 that will be used to resolve the colors used for this text field in different states. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

924.

TimeInput

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

67

Time pickers help users select and set a specific time.

Shows a time input that allows the user to enter the time via two text fields, one for minutes and one for hours Subscribe to updates through

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

03

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

68

TimePicker

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

69

Material Design time picker.

Time pickers help users select and set a specific time.

Shows a picker that allows the user to select time. Subscribe to updates through

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

03

Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

70

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

71

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

984 state for this timepicker, allows to subscribe to changes to

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

985 and

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

986, and set the initial time for this picker.

TooltipBox

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

72

Material TooltipBox that wraps a composable with a tooltip.

tooltips provide a descriptive message for an anchor. It can be used to call the users attention to the anchor.

Tooltip that is invoked when the anchor is long pressed:

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

73

If control of when the tooltip is shown is desired please see

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

74

Plain tooltip with caret shown on long press:

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

75

Tooltip that is invoked when the anchor is long pressed:

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

76

If control of when the tooltip is shown is desired please see

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

77

Parameters

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

987

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

988 that will be used to place the tooltip relative to the anchor content.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

989

the composable that will be used to populate the tooltip's content.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

990

handles the state of the tooltip's visibility.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to the TooltipBox.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

993

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

994 that determines if the tooltip is focusable. When true, the tooltip will consume touch events while it's shown and will have accessibility focus move to the first element of the component. When false, the tooltip won't consume touch events while it's shown but assistive-tech users will need to swipe or drag to get to the first element of the component.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

995

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

994 which determines if this TooltipBox will handle long press and mouse hover to trigger the tooltip through the state provided.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

34

the composable that the tooltip will anchor to.

TooltipState

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

78

Constructor extension function for

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

49

Parameters

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

999

the initial value for the tooltip's visibility when drawn.

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

000

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

994 that determines if the tooltip associated with this will be persistent or not. If isPersistent is true, then the tooltip will only be dismissed when the user clicks outside the bounds of the tooltip or if

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

002 is called. When isPersistent is false, the tooltip will dismiss after a short duration. Ideally, this should be set to true when there is actionable content being displayed within a tooltip.

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

003

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

004 used to ensure that for all of the tooltips associated with the mutator mutex, only one will be shown on the screen at any time.

TopAppBar

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

79

Material Design small top app bar.

Top app bars display information and actions at the top of a screen.

This small TopAppBar has slots for a title, navigation icon, and actions.

Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

10

A top app bar that uses a

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

005 to customize its nested scrolling behavior when working in conjunction with a scrolling content looks like:

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

11

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

12

TriStateCheckbox

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

83

Material Design checkbox parent.

Checkboxes can have a parent-child relationship with other checkboxes. When the parent checkbox is checked, all child checkboxes are checked. If a parent checkbox is unchecked, all child checkboxes are unchecked. If some, but not all, child checkboxes are checked, the parent checkbox becomes an indeterminate checkbox.

Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

84

Parameters

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

006

whether this checkbox is checked, unchecked, or in an indeterminate state

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

102

called when this checkbox is clicked. If

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

79, then this checkbox will not be interactable, unless something else handles its input events and updates its

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

009.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this checkbox

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this checkbox. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

90

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

91 that will be used to resolve the colors used for this checkbox in different states. See

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

92.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this checkbox. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this checkbox in different states.

See also

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

26

if you want a simple component that represents Boolean state

VerticalDivider

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

85

Material Design divider.

A divider is a thin line that groups content in lists and layouts.

Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this divider line.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

525

thickness of this divider line. Using

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

526 will produce a single pixel divider regardless of screen density.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

527

color of this divider line.

darkColorScheme

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

86

Returns a dark Material color scheme.

dynamicDarkColorScheme

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

87

Creates a dark dynamic color scheme.

Use this function to create a color scheme based off the system wallpaper. If the developer changes the wallpaper this color scheme will change accordingly. This dynamic scheme is a dark theme variant.

Parameters

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

028

The context required to get system resource data.

dynamicLightColorScheme

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

88

Creates a light dynamic color scheme.

Use this function to create a color scheme based off the system wallpaper. If the developer changes the wallpaper this color scheme will change accordingly. This dynamic scheme is a light theme variant.

Parameters

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

028

The context required to get system resource data.

lightColorScheme

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

89

Returns a light Material color scheme.

rememberDatePickerState

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

90

Creates a

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

32 for a

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

35 that is remembered across compositions.

To create a date picker state outside composition, see the

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

032 function.

Parameters

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

048

timestamp in UTC milliseconds from the epoch that represents an initial selection of a date. Provide a

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

79 to indicate no selection.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

051

timestamp in UTC milliseconds from the epoch that represents an initial selection of a month to be displayed to the user. By default, in case an

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

036 is provided, the initial displayed month would be the month of the selected date. Otherwise, in case

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

79 is provided, the displayed month would be the current one.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

053

an

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

054 that holds the year range that the date picker will be limited to

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

055

an initial

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

056 that this state will hold

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

057

a

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

014 that is consulted to check if a date is allowed. In case a date is not allowed to be selected, it will appear disabled in the UI.

rememberDateRangePickerState

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

91

Creates a

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    icon = { Icon[Icons.Filled.Favorite, contentDescription = null] },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[
            "This area typically contains the supportive text " +
                "which presents the details regarding the Dialog's purpose."
        ]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

37 for a

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

36 that is remembered across compositions.

To create a date range picker state outside composition, see the

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

046 function.

Parameters

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

075

timestamp in UTC milliseconds from the epoch that represents an initial selection of a start date. Provide a

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

79 to indicate no selection.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

077

timestamp in UTC milliseconds from the epoch that represents an initial selection of an end date. Provide a

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

79 to indicate no selection.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

079

timestamp in UTC milliseconds from the epoch that represents an initial selection of a month to be displayed to the user. By default, in case an

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

080 is provided, the initial displayed month would be the month of the selected date. Otherwise, in case

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

79 is provided, the displayed month would be the current one.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

053

an

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

054 that holds the year range that the date range picker will be limited to

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

055

an initial

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

056 that this state will hold

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

057

a

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

014 that is consulted to check if a date is allowed. In case a date is not allowed to be selected, it will appear disabled in the UI.

rememberTimePickerState

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

92

Creates a

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

03 for a time picker that is remembered across compositions and configuration changes.

Parameters

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

061

starting hour for this state, will be displayed in the time picker when launched Ranges from 0 to 23

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

062

starting minute for this state, will be displayed in the time picker when launched. Ranges from 0 to 59

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

063

The format for this time picker.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64 for 12 hour format with an AM/PM toggle or

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

936 for 24 hour format without toggle. Defaults to follow system setting.

rememberTooltipState

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

93

Create and remember the default

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

49 for

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

09.

Parameters

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

999

the initial value for the tooltip's visibility when drawn.

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

069

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

994 that determines if the tooltip associated with this will be persistent or not. If isPersistent is true, then the tooltip will only be dismissed when the user clicks outside the bounds of the tooltip or if

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

002 is called. When isPersistent is false, the tooltip will dismiss after a short duration. Ideally, this should be set to true when there is actionable content being displayed within a tooltip.

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

003

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

004 used to ensure that for all of the tooltips associated with the mutator mutex, only one will be shown on the screen at any time.

Extension functions

NavigationBarItem

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

94

Material Design navigation bar item.

Navigation bars offer a persistent and convenient way to switch between primary destinations in an app.

The recommended configuration for a

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

52 depends on how many items there are inside a

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

51:

  • Three destinations: Display icons and text labels for all destinations.
  • Four destinations: Active destinations display an icon and text label. Inactive destinations display icons, and text labels are recommended.
  • Five destinations: Active destinations display an icon and text label. Inactive destinations use icons, and use text labels if space permits.

A

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

52 always shows text labels [if it exists] when selected. Showing text labels if not selected is controlled by

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

077.

Parameters

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

471

whether this item is selected

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

called when this item is clicked

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

331

icon for this item, typically an

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

332

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this item

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this item. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

805

optional text label for this item

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

806

whether to always show the label for this item. If

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, the label will only be shown when this item is selected.

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

089

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

090 that will be used to resolve the colors used for this item in different states. See

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

091.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this item. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this item in different states.

PlainTooltip

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

95

Plain tooltip that provides a descriptive message.

Usually used with

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

09.

Parameters

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to the tooltip.

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

100

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

101 for the caret of the tooltip, if a default caret is desired with a specific dimension. Please see

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

102 to see the default dimensions. Pass in null for this parameter if no caret is desired.

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

103

the

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

190 that should be applied to the tooltip container.

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

105

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

58 that will be applied to the tooltip's content.

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

107

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

58 that will be applied to the tooltip's container.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

470

the tonal elevation of the tooltip.

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

473

the shadow elevation of the tooltip.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

34

the composable that will be used to populate the tooltip's content.

SegmentedButton

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

96

Material Segmented Button. Segmented buttons help people select options, switch views, or sort elements.

A default Toggleable Segmented Button. Also known as Outlined Segmented Button. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

551.

Toggleable segmented buttons should be used for cases where the selection is not mutually exclusive.

This should typically be used inside of a

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

67

For a sample showing Segmented button with only checked icons see:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

34

Parameters

import androidx.compose.material3.Badge import androidx.compose.material3.BadgedBox import androidx.compose.material3.Icon import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Text import androidx.compose.ui.semantics.semantics NavigationBar {

NavigationBarItem[
    icon = {
        BadgedBox[
            badge = {
                Badge {
                    val badgeNumber = "8"
                    Text[
                        badgeNumber,
                        modifier = Modifier.semantics {
                            contentDescription = "$badgeNumber new notifications"
                        }
                    ]
                }
            }] {
            Icon[
                Icons.Filled.Star,
                contentDescription = "Favorite"
            ]
        }
    },
    selected = false,
    onClick = {}
]
}

83

whether this button is checked or not

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

380

callback to be invoked when the button is clicked. therefore the change of checked state in requested.

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

116

the shape for this button

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this button

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this button. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

121

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

122 that will be used to resolve the colors used for this

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

123

the border for this button, see

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

122 Button in different states

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this button. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this button in different states.

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

130

the icon slot for this button, you can pass null in unchecked, in which case the content will displace to show the checked icon, or pass different icon lambdas for unchecked and checked in which case the icons will crossfade.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

60

content to be rendered inside this button

SegmentedButton

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

98

Material Segmented Button. Segmented buttons help people select options, switch views, or sort elements.

A default Toggleable Segmented Button. Also known as Outlined Segmented Button. See

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

602.

Selectable segmented buttons should be used for cases where the selection is mutually exclusive, when only one button can be selected at a time.

This should typically be used inside of a

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

66

For a sample showing Segmented button with only checked icons see:

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

93

Parameters

import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.material3.BasicAlertDialog import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

BasicAlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    }
] {
    Surface[
        modifier = Modifier
            .wrapContentWidth[]
            .wrapContentHeight[],
        shape = MaterialTheme.shapes.large,
        tonalElevation = AlertDialogDefaults.TonalElevation
    ] {
        Column[modifier = Modifier.padding[16.dp]] {
            Text[
                text = "This area typically contains the supportive text " +
                    "which presents the details regarding the Dialog's purpose.",
            ]
            Spacer[modifier = Modifier.height[24.dp]]
            TextButton[
                onClick = {
                    openDialog.value = false
                },
                modifier = Modifier.align[Alignment.End]
            ] {
                Text["Confirm"]
            }
        }
    }
}
}

471

whether this button is selected or not

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

59

callback to be invoked when the button is clicked. therefore the change of checked state in requested.

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

116

the shape for this button

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

31

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

23 to be applied to this button

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

63

controls the enabled state of this button. When

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

64, this component will not respond to user input, and it will appear visually disabled and disabled to accessibility services.

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

121

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

122 that will be used to resolve the colors used for this

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

143

the border for this button, see

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

122 Button in different states

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

81

the

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

82 representing the stream of

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s for this button. You can create and pass in your own

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

84ed instance to observe

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

83s and customize the appearance / behavior of this button in different states.

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

150

the icon slot for this button, you can pass null in unchecked, in which case the content will displace to show the checked icon, or pass different icon lambdas for unchecked and checked in which case the icons will crossfade.

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

60

content to be rendered inside this button

minimumInteractiveComponentSize

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

00

Reserves at least 48.dp in size to disambiguate touch interactions if the element would measure smaller.

//m3.material.io/foundations/accessible-design/accessibility-basics

28032e45-c598-450c-b355-f9fe737b1cd8

This uses the Material recommended minimum size of 48.dp x 48.dp, which may not the same as the system enforced minimum size. The minimum clickable / touch target size [48.dp by default] is controlled by the system via ViewConfiguration` and automatically expanded at the touch input layer.

This modifier is not needed for touch target expansion to happen. It only affects layout, to make sure there is adequate space for touch target expansion.

surfaceColorAtElevation

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

01

Computes the surface tonal color at different elevation levels e.g. surface1 through surface5.

Parameters

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

152

Elevation value used to compute alpha of the color overlay layer.

Top-level properties

LocalAbsoluteTonalElevation

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

02

CompositionLocal containing the current absolute elevation provided by

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

56 components. This absolute elevation is a sum of all the previous elevations. Absolute elevation is only used for calculating surface tonal colors, and is not used for drawing the shadow in a

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

56.

LocalContentColor

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

03

CompositionLocal containing the preferred content color for a given position in the hierarchy. This typically represents the

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

155 color for a color in

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

09. For example, if the background color is

@Composable fun [Badge][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

Badge%28androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1%29][

    modifier: Modifier = Modifier,     containerColor: Color = BadgeDefaults.containerColor,     contentColor: Color = contentColorFor[containerColor],     content: [@Composable RowScope.[] -> Unit]? = null ]: Unit

55, this color is typically set to

@Composable fun [AlertDialog][//developer.android.com/reference/kotlin/androidx/compose/material3/package-summary

AlertDialog%28kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.unit.Dp,androidx.compose.ui.window.DialogProperties%29][

    onDismissRequest: [] -> Unit,     confirmButton: @Composable [] -> Unit,     modifier: Modifier = Modifier,     dismissButton: [@Composable [] -> Unit]? = null,     icon: [@Composable [] -> Unit]? = null,     title: [@Composable [] -> Unit]? = null,     text: [@Composable [] -> Unit]? = null,     shape: Shape = AlertDialogDefaults.shape,     containerColor: Color = AlertDialogDefaults.containerColor,     iconContentColor: Color = AlertDialogDefaults.iconContentColor,     titleContentColor: Color = AlertDialogDefaults.titleContentColor,     textContentColor: Color = AlertDialogDefaults.textContentColor,     tonalElevation: Dp = AlertDialogDefaults.TonalElevation,     properties: DialogProperties = DialogProperties[] ]: Unit

459.

This color should be used for any typography / iconography, to ensure that the color of these adjusts when the background color changes. For example, on a dark background, text should be light, and on a light background, text should be dark.

Defaults to

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

159 if no color has been explicitly set.

LocalMinimumInteractiveComponentEnforcement

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

04

CompositionLocal that configures whether Material components that have a visual size that is lower than the minimum touch target size for accessibility [such as Button] will include extra space outside the component to ensure that they are accessible. If set to false there will be no extra space, and so it is possible that if the component is placed near the edge of a layout / near to another component without any padding, there will not be enough space for an accessible touch target.

LocalMinimumTouchTargetEnforcement

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

05

CompositionLocal that configures whether Material components that have a visual size that is lower than the minimum touch target size for accessibility [such as

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

  1. will include extra space outside the component to ensure that they are accessible. If set to false there will be no extra space, and so it is possible that if the component is placed near the edge of a layout / near to another component without any padding, there will not be enough space for an accessible touch target.

ScaffoldSubcomposeInMeasureFix

import androidx.compose.material3.AlertDialog import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember val openDialog = remember { mutableStateOf[true] } if [openDialog.value] {

AlertDialog[
    onDismissRequest = {
        // Dismiss the dialog when the user clicks outside the dialog or on the back
        // button. If you want to disable that functionality, simply use an empty
        // onDismissRequest.
        openDialog.value = false
    },
    title = {
        Text[text = "Title"]
    },
    text = {
        Text[text = "Turned on by default"]
    },
    confirmButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Confirm"]
        }
    },
    dismissButton = {
        TextButton[
            onClick = {
                openDialog.value = false
            }
        ] {
            Text["Dismiss"]
        }
    }
]
}

06

Flag indicating if

import androidx.compose.foundation.layout.size import androidx.compose.material3.AssistChip import androidx.compose.material3.Icon import androidx.compose.material3.Text AssistChip[

onClick = { /* Do something! */ },
label = { Text["Assist Chip"] },
leadingIcon = {
    Icon[
        Icons.Filled.Settings,
        contentDescription = "Localized description",
        Modifier.size[AssistChipDefaults.IconSize]
    ]
}
]

09 should subcompose and measure its children during measurement or during placement. Set this flag to false to keep Scaffold's old measurement behavior [measuring in placement].

This flag will be removed in Compose 1.6.0-beta01. If you encounter any issues with the new behavior, please file an issue at: issuetracker.google.com/issues/new?component=742043

Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Last updated 2024-02-08 UTC.

[{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"Missing the information I need" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"Too complicated / too many steps" },{ "type": "thumb-down", "id": "outOfDate", "label":"Out of date" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"Samples / code issue" },{ "type": "thumb-down", "id": "otherDown", "label":"Other" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Easy to understand" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Solved my problem" },{ "type": "thumb-up", "id": "otherUp", "label":"Other" }]

How to set padding top programmatically in android?

Use the setPadding[left, top, right, bottom] method on the view to set the padding. The integers passed as parameters to this function are the number of pixels [px], which are different from the density-independent pixels [dp or dip].

What is padding in Android layout?

The padding is expressed in pixels for the left, top, right and bottom parts of the view. You can use padding to offset the content of the view by a specific number of pixels. For instance, a left padding of two pushes the view's content two pixels to the right of the left edge.

How to set style to layout in android?

There are two ways to set a style:.

To an individual View, by adding the style attribute to a View element in the XML for your layout..

Or, to an entire Activity or application, by adding the android:theme attribute to the or element in the Android manifest..

What is difference margin padding Android?

Difference between Margin and Padding in AndroidMargin defines the extra space outside the border of a view. Padding defines the extra space inside the border of a view. Margin is used to create extra space between two views. Padding is used to create extra space around the content of a view.

Chủ Đề