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.
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 |
Cmn
|
AppBarRowScope |
DSL scope for building the content of an |
Cmn
|
AppBarScope |
DSL scope for building the content of an |
Cmn
|
BasicAlertDialogOverride |
Interface that allows libraries to override the behavior of the |
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 |
Cmn
|
DatePickerFormatter |
A date formatter interface used by |
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 |
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 |
Cmn
|
HorizontalFloatingToolbarWithFabOverride |
Interface that allows libraries to override the behavior of the |
Cmn
|
ModalWideNavigationRailOverride |
Interface that allows libraries to override the behavior of the |
Cmn
|
MotionScheme |
A motion scheme provides all the |
Cmn
|
MultiChoiceSegmentedButtonRowScope |
Scope for the children of a |
Cmn
|
NavigationBarOverride |
Interface that allows libraries to override the behavior of the |
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 |
Cmn
|
SearchBarScrollBehavior |
A |
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 |
Cmn
|
SingleChoiceSegmentedButtonRowScope |
Scope for the children of a |
Cmn
|
SingleRowTopAppBarOverride |
Interface that allows libraries to override the behavior of single-row |
Cmn
|
SnackbarData |
Interface to represent the data of one particular |
Cmn
|
SnackbarVisuals |
Interface to represent the visuals of one particular |
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 |
Cmn
|
TextFieldLabelScope |
Scope for the label of a |
Cmn
|
TimePickerState |
A state object that can be hoisted to observe the time picker state. |
Cmn
|
ToggleFloatingActionButtonScope |
Scope for the children of |
Cmn
|
TooltipScope |
Tooltip scope for |
Cmn
|
TooltipState |
The state that is associated with a |
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 |
Cmn
|
VerticalFloatingToolbarOverride |
Interface that allows libraries to override the behavior of the |
Cmn
|
VerticalFloatingToolbarWithFabOverride |
Interface that allows libraries to override the behavior of the |
Cmn
|
WideNavigationRailOverride |
Interface that allows libraries to override the behavior of the |
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 |
Cmn
|
AppBarWithSearchColors |
Represents the colors used by an |
Cmn
|
BasicAlertDialogOverrideScope |
Parameters available to |
Cmn
|
BottomSheetScaffoldState |
State of the |
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 |
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 |
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 |
Cmn
|
DatePickerColors |
Represents the colors used by the date picker. |
Cmn
|
DefaultTooltipCaretShape |
Default |
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 |
Cmn
|
ExitAlwaysFloatingToolbarScrollBehavior |
A |
Cmn
|
ExposedDropdownMenuAnchorType |
The type of element that can serve as a dropdown menu anchor. |
Cmn
|
ExposedDropdownMenuBoxScope |
Scope for |
Cmn
|
FabPosition |
The possible positions for a |
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 |
Cmn
|
FloatingToolbarHorizontalFabPosition |
The possible positions for a |
Cmn
|
FloatingToolbarVerticalFabPosition |
The possible positions for a |
Cmn
|
|