androidx.compose.material3

Build Jetpack Compose UIs with Material 3 Expressive, the latest evolution of Material Design. M3 Expressive includes research-backed updates to theming, components, motion, typography, and more — all designed to help you make engaging and desirable products that users love. M3 Expressive compliments the Android 16 visual style and system UI.

Material Expressive image

In this page, you'll find documentation for types, properties, and functions available in the androidx.compose.material3 package.

For more information, check out Material Design 3 in Compose.

Overview

Theming

APIs Description
Material Theming MaterialTheme M3 theme
Color scheme ColorScheme M3 color scheme
lightColorScheme M3 light color scheme
darkColorScheme M3 dark color scheme
Dynamic color dynamicLightColorScheme M3 dynamic light color scheme
dynamicDarkColorScheme M3 dynamic dark color scheme
Typography Typography M3 typography
Shape Shapes M3 shape

Components

APIs Description
Badge Badge M3 badge
BadgedBox M3 badged box
Bottom app bar BottomAppBar M3 bottom app bar
Bottom sheet BottomSheetScaffold M3 bottom sheet
ModalBottomSheet M3 modal bottom sheet
Buttons Button M3 filled button
ElevatedButton M3 elevated button
FilledTonalButton M3 filled tonal button
OutlinedButton M3 outlined button
TextButton M3 text button
Cards Card M3 filled card
ElevatedCard M3 elevated card
OutlinedCard M3 outlined card
Checkbox Checkbox M3 checkbox
TriStateCheckbox M3 indeterminate checkbox
Chips AssistChip M3 assist chip
ElevatedAssistChip M3 elevated assist chip
FilterChip M3 filter chip
ElevatedFilterChip M3 elevated filter chip
InputChip M3 input chip
SuggestionChip M3 suggestion chip
ElevatedSuggestionChip M3 elevated suggestion chip
Date Picker DatePicker M3 date picker
DatePickerDialog M3 date picker embeeded in dialog
DateRangePicker M3 date range picker
Dialogs AlertDialog M3 basic dialog
Dividers HorizontalDivider M3 horizontal divider
VerticalDivider M3 vertical divider
Extended FAB ExtendedFloatingActionButton M3 extended FAB
FAB FloatingActionButton M3 FAB
SmallFloatingActionButton M3 small FAB
LargeFloatingActionButton M3 large FAB
Icon button IconButton M3 standard icon button
IconToggleButton M3 standard icon toggle button
FilledIconButton M3 filled icon button
FilledIconToggleButton M3 filled icon toggle button
FilledTonalIconButton M3 filled tonal icon button
FilledTonalIconToggleButton M3 filled tonal icon toggle button
OutlinedIconButton M3 outlined icon button
OutlinedIconToggleButton M3 outlined icon toggle button
Lists ListItem M3 list item
Menus DropdownMenu M3 menu
DropdownMenuItem M3 menu item
ExposedDropdownMenuBox M3 exposed dropdown menu
Navigation bar NavigationBar M3 navigation bar
NavigationBarItem M3 navigation bar item
Navigation drawer ModalNavigationDrawer M3 modal navigation drawer
ModalDrawerSheet M3 modal drawer sheet
PermanentNavigationDrawer M3 permanent standard navigation drawer
PermanentDrawerSheet M3 permanent standard drawer sheet
DismissibleNavigationDrawer M3 dismissible standard navigation drawer
DismissibleDrawerSheet M3 dismissible standard drawer sheet
NavigationDrawerItem M3 navigation drawer item
Navigation rail NavigationRail M3 navigation rail
NavigationRailItem M3 navigation rail item
Progress indicators LinearProgressIndicator M3 linear progress indicator
CircularProgressIndicator M3 circular progress indicator
Radio button RadioButton M3 radio button
Search Bar SearchBar M3 search bar
DockedSearchBar M3 docked search bar
Segmented Button SegmentedButton M3 segmented button
SingleChoiceSegmentedButtonRow M3 single choice segmented button row
MultiChoiceSegmentedButtonRow M3 multiple choice segmented button row
Sliders Slider M3 slider
RangeSlider M3 range slider
Snackbars Snackbar M3 snackbar
Swipe to Dismiss SwipeToDismiss M3 swipe to dismiss
Switch Switch M3 switch
Tabs Tab M3 tab
LeadingIconTab M3 leading icon tab
PrimaryIndicator M3 primary tab indicator
PrimaryTabRow M3 primary tab row
SecondaryIndicator M3 secondary tab indicator
SecondaryTabRow M3 secondary tab row
TabRow M3 fixed tab row
ScrollableTabRow M3 scrollable tab row
Text fields TextField M3 filled text field
OutlinedTextField M3 outlined text field
Time Picker TimePicker M3 time picker
TimeInput M3 time input
Tool tip PlainTooltipBox M3 plain tool tip
RichTooltipBox M3 rich tool tip
Top app bar TopAppBar M3 small top app bar
CenterAlignedTopAppBar M3 center-aligned top app bar
MediumTopAppBar M3 medium top app bar
LargeTopAppBar M3 large top app bar

Surfaces and layout

APIs Description
Surfaces Surface M3 surface
Scaffold Scaffold M3 layout

Icons and text

APIs Description
Icon Icon M3 icon
Text Text M3 text

Also check out the androidx.compose.material.icons package.

Interfaces

AppBarColumnScope

DSL scope for building the content of an AppBarColumn.

Cmn
AppBarRowScope

DSL scope for building the content of an AppBarRow.

Cmn
AppBarScope

DSL scope for building the content of an AppBarRow and AppBarColumn.

Cmn
BasicAlertDialogOverride

Interface that allows libraries to override the behavior of the BasicAlertDialog component.

Cmn
BottomAppBarScrollBehavior

A BottomAppBarScrollBehavior defines how a bottom app bar should behave when the content under it is scrolled.

Cmn
BottomAppBarState

A state object that can be hoisted to control and observe the bottom app bar state.

Cmn
ButtonGroupScope

Button group scope used to indicate a Modifier.weight and Modifier.animateWidth of a child element.

Cmn
DatePickerFormatter

A date formatter interface used by DatePicker.

Cmn
DatePickerState

A state object that can be hoisted to observe the date picker state.

Cmn
DateRangePickerState

A state object that can be hoisted to observe the date range picker state.

Cmn
FloatingActionButtonMenuScope

Scope for the children of FloatingActionButtonMenu

Cmn
FloatingToolbarScrollBehavior

A FloatingToolbarScrollBehavior defines how a floating toolbar should behave when the content under it is scrolled.

Cmn
FloatingToolbarState

A state object that can be hoisted to control and observe the floating toolbar state.

Cmn
HorizontalFloatingToolbarOverride

Interface that allows libraries to override the behavior of the HorizontalFloatingToolbar component.

Cmn
HorizontalFloatingToolbarWithFabOverride

Interface that allows libraries to override the behavior of the HorizontalFloatingToolbar component that includes a Floating Action Button.

Cmn
ModalWideNavigationRailOverride

Interface that allows libraries to override the behavior of the ModalWideNavigationRail component.

Cmn
MotionScheme

A motion scheme provides all the FiniteAnimationSpecs for a MaterialTheme.

Cmn
MultiChoiceSegmentedButtonRowScope

Scope for the children of a MultiChoiceSegmentedButtonRow

Cmn
NavigationBarOverride

Interface that allows libraries to override the behavior of the NavigationBar component.

Cmn
NavigationDrawerItemColors

Represents the colors of the various elements of a drawer item.

Cmn
NavigationRailOverride

Interface that allows libraries to override the behavior of the NavigationRail component.

Cmn
SearchBarScrollBehavior

A SearchBarScrollBehavior defines how a search bar should behave when the content beneath it is scrolled.

Cmn
SelectableDates

An interface that controls the selectable dates and years in the date pickers UI.

Cmn
ShortNavigationBarOverride

Interface that allows libraries to override the behavior of the ShortNavigationBar component.

Cmn
SingleChoiceSegmentedButtonRowScope

Scope for the children of a SingleChoiceSegmentedButtonRow

Cmn
SingleRowTopAppBarOverride

Interface that allows libraries to override the behavior of single-row TopAppBar components.

Cmn
SnackbarData

Interface to represent the data of one particular Snackbar as a piece of the SnackbarHostState.

Cmn
SnackbarVisuals

Interface to represent the visuals of one particular Snackbar as a piece of the SnackbarData.

Cmn
TabIndicatorScope

Scope for the composable used to render a Tab indicator, this can be used for more complex indicators requiring layout information about the tabs like TabRowDefaults.PrimaryIndicator and TabRowDefaults.SecondaryIndicator

Cmn
TextFieldLabelScope

Scope for the label of a TextField or OutlinedTextField.

Cmn
TimePickerState

A state object that can be hoisted to observe the time picker state.

Cmn
ToggleFloatingActionButtonScope

Scope for the children of ToggleFloatingActionButton

Cmn
TooltipScope

Tooltip scope for TooltipBox to be used to obtain the LayoutCoordinates of the anchor content, and to draw a caret for the tooltip.

Cmn
TooltipState

The state that is associated with a TooltipBox.

Cmn
TopAppBarScrollBehavior

A TopAppBarScrollBehavior defines how an app bar should behave when the content under it is scrolled.

Cmn
TwoRowsTopAppBarOverride

Interface that allows libraries to override the behavior of two-row TopAppBar components.

Cmn
VerticalFloatingToolbarOverride

Interface that allows libraries to override the behavior of the VerticalFloatingToolbar component.

Cmn
VerticalFloatingToolbarWithFabOverride

Interface that allows libraries to override the behavior of the VerticalFloatingToolbar component.

Cmn
WideNavigationRailOverride

Interface that allows libraries to override the behavior of the WideNavigationRail component.

Cmn
WideNavigationRailState

A state object that can be hoisted to observe the wide navigation rail state.

Cmn

Classes

AppBarMenuState

State class for the overflow menu in AppBarRow and AppBarColumn.

Cmn
AppBarWithSearchColors

Represents the colors used by an AppBarWithSearch.

Cmn
BasicAlertDialogOverrideScope

Parameters available to BasicAlertDialog.

Cmn
BottomSheetScaffoldState

State of the BottomSheetScaffold composable.

Cmn
ButtonColors

Represents the container and content colors used in a button in different states.

Cmn
ButtonElevation

Represents the elevation for a button in different states.

Cmn
ButtonGroupMenuState

State class for the overflow menu in ButtonGroup.

Cmn
ButtonShapes

The shapes that will be used in buttons.

Cmn
CalendarLocale

Represents a Locale for the calendar.

Cmn
android
CardColors

Represents the container and content colors used in a card in different states.

Cmn
CardElevation

Represents the elevation for a card in different states.

Cmn
CheckboxColors

Represents the colors used by the three different sections (checkmark, box, and border) of a Checkbox or TriStateCheckbox in different states.

Cmn
ChipBorder

This class is deprecated. Maintained for binary compatibility.

Cmn
ChipColors

Represents the container and content colors used in a clickable chip in different states.

Cmn
ChipElevation

Represents the elevation used in a selectable chip in different states.

Cmn
ColorScheme

A color scheme holds all the named color parameters for a MaterialTheme.

Cmn
DatePickerColors

Represents the colors used by the date picker.

Cmn
DefaultTooltipCaretShape

Default Shape of the caret used by tooltips.

Cmn
DisplayMode

Represents the different modes that a date picker can be at.

Cmn
DragHandleColors

Specifies the colors that will be used in a drag handle in different states.

Cmn
DragHandleShapes

Specifies the shapes that will be used in a drag handle in different states.

Cmn
DragHandleSizes

Specifies the sizes that will be used in a drag handle in different states.

Cmn
DrawerState

State of the ModalNavigationDrawer and DismissibleNavigationDrawer composable.

Cmn
ExitAlwaysFloatingToolbarScrollBehavior

A FloatingToolbarScrollBehavior that adjusts its properties to affect the size of a floating toolbar.

Cmn
ExposedDropdownMenuAnchorType

The type of element that can serve as a dropdown menu anchor.

Cmn
ExposedDropdownMenuBoxScope

Scope for ExposedDropdownMenuBox.

Cmn
FabPosition

The possible positions for a FloatingActionButton attached to a Scaffold.

Cmn
FloatingActionButtonElevation

Represents the tonal and shadow elevation for a floating action button in different states.

Cmn
FloatingToolbarColors

Represents the container and content colors used in a the various floating toolbars.

Cmn
FloatingToolbarExitDirection

The possible directions for a HorizontalFloatingToolbar or VerticalFloatingToolbar, used to determine the exit direction when a FloatingToolbarScrollBehavior is attached.

Cmn
FloatingToolbarHorizontalFabPosition

The possible positions for a FloatingActionButton attached to a HorizontalFloatingToolbar

Cmn
FloatingToolbarVerticalFabPosition

The possible positions for a FloatingActionButton attached to a VerticalFloatingToolbar

Cmn