Material component widgets

Flutter provides a variety of visual, behavioral, and motion-rich widgets that implement the Material 3 design specification. Material 3 is the default design language of Flutter, enabling you to design and build beautiful, usable apps that can adapt to any platform.

To catch these and other widgets in action, check out the Material 3 demo web app.

Actions

#
Rendered example of the Common buttons Material widget.
Common buttons

Clickable blocks that start an action, such as sending an email, sharing a document, or liking a comment.

Rendered example of the FloatingActionButton Material widget.
FloatingActionButton

Clickable block containing an icon that keeps a key action always in reach.

Rendered example of the Extended FloatingActionButton Material widget.
Extended FloatingActionButton

Clickable block that triggers an action. These wider blocks can fit a text label and provide a larger target area.

Rendered example of the IconButton Material widget.
IconButton

Clickable icons to prompt app users to take supplementary actions.

Rendered example of the SegmentedButton Material widget.
SegmentedButton

Single or multiple selected clickable blocks to help people select options, switch views, or sort elements.

Communication

#
Rendered example of the Badge Material widget.
Badge

Icon-like block that conveys dynamic content such as counts or status. It can include labels or numbers.

Rendered example of the LinearProgressIndicator Material widget.
LinearProgressIndicator

Vertical line that changes color as an ongoing process, such as loading an app or submitting a form, completes.

Rendered example of the SnackBar Material widget.
SnackBar

Brief messages about app processes that display at the bottom of the screen.

Containment

#
Rendered example of the AlertDialog Material widget.
AlertDialog

Hovering containers that prompt app users to provide more data or make a decision.

Rendered example of the Bottom sheet Material widget.
Bottom sheet

Containers that anchor supplementary content to the bottom of the screen.

Rendered example of the Card Material widget.
Card

Container for short, related pieces of content displayed in a box with rounded corners and a drop shadow.

Rendered example of the Divider Material widget.
Divider

Thin line that groups content in lists and containers.

Rendered example of the ListTile Material widget.
ListTile

A single fixed-height row that typically contains some text as well as a leading or trailing icon.

#
Rendered example of the AppBar Material widget.
AppBar

Container that displays content and actions at the top of a screen.

Rendered example of the Bottom app bar Material widget.
Bottom app bar

Container that displays navigation and key actions at the bottom of a screen.

Rendered example of the NavigationBar Material widget.
NavigationBar

Persistent container that enables switching between primary destinations in an app.

Rendered example of the NavigationDrawer Material widget.
NavigationDrawer

Container that slides from the leading edge of the app to navigate to other sections in an app.

Rendered example of the Navigation rail Material widget.
Navigation rail

Persistent container on the leading edge of tablet and desktop screens to navigate to parts of an app.

Rendered example of the TabBar Material widget.
TabBar

Layered containers that organize content across different screens, data sets, and other interactions.

Selection

#
Rendered example of the Checkbox Material widget.
Checkbox

Form control that app users can set or clear to select one or more options from a set.

Rendered example of the Chip Material widget.
Chip

Small blocks that simplify entering information, making selections, filtering content, or triggering actions.

Rendered example of the DatePicker Material widget.
DatePicker

Calendar interface used to select a date or a range of dates.

Rendered example of the Menu Material widget.
Menu

Container that displays a list of choices on a temporary surface.

Rendered example of the Radio Material widget.
Radio

Form control that app users can set or clear to select only one option from a set.

Rendered example of the Slider Material widget.
Slider

Form control that enables selecting a range of values.

Rendered example of the Switch Material widget.
Switch

Toggle control that changes the state of a single item to on or off.

Rendered example of the TimePicker Material widget.
TimePicker

Clock interface used to select and set a specific time.

Text inputs

#
Rendered example of the TextField Material widget.
TextField

Box into which app users can enter text. They appear in forms and dialogs.