Bottom sheets are surfaces containing supplementary content that are anchored to the bottom of the screen.

image.png


Usage

Bottom sheets are supplementary surfaces primarily used on mobile. There are three types suitable for different use cases:

  • Standard bottom sheets display content that complements the screen’s primary content. They remain visible while users interact with the primary content.
  • Modal bottom sheets are an alternative to inline menus or simple dialogs on mobile and provide room for additional items, longer descriptions, and iconography. They must be dismissed in order to interact with the underlying content.
  • Expanding bottom sheets provide a small, collapsed surface that can be expanded by the user to access a key feature or task. They offer the persistent access of a standard sheet with the space and focus of a modal sheet.

image.png
Standard bottom sheet
A user can view and interact with a standard bottom sheet and the rest of the screen, useful for multi-tasking. The music player in this standard bottom sheet allows users to control their music while browsing albums.

image.png
Modal bottom sheet
A user must interact with or dismiss a modal bottom sheet. Their blocking behavior make them suitable for menus, such as in this files app, to help users focus on their available choices.

image.png
Expanding bottom sheet
A user can tap an expanding bottom sheet when needed to access its full contents. The collapsed state can be used an indicator of the feature’s current status, such as the number of selected items or unread messages.

设计原则

image.png

Supporting

Bottom sheets contain content that supplements the screen’s primary UI region.

Flexible

Bottom sheets can display a wide variety of content and layouts.

Ergonomic

Bottom sheets are easy to reach on a mobile device.


Anatomy

image.png
1.Sheet
2.Contents
3.Scrim (Modal only)

Sheet

Bottom sheets are anchored to the bottom edge of the screen and appear in front of other UI elements. Standard and modal bottom sheets are full-width on mobile and can be inset or full-width on tablet or desktop.
image.png
image.png
Do
A bottom sheet is anchored to the bottom edge of the screen.

image.png
image.png
Don’t
Don’t inset all sides of a bottom sheet from screen edges. This can make it hard to see and allow it to be confused for other components, such as snackbars.

image.png
Standard bottom sheet inset on desktop


Contents

Bottom sheets can display a wide variety of content and layouts, ranging from menu items (in list and grid layouts), to supplemental content laid out according to the layout grid.
Content from a bottom sheet that initially appears below the screen edge can become visible when the sheet is dragged into view.
image.png
Menu of actions (in a list) inside a modal bottom sheet

image.png
Menu of apps (in a grid layout) inside a modal bottom sheet

image.png
The location information in this standard bottom sheet initially extends below the screen edge. It can be dragged into view.

image.png
This music player has been made fully visible to reveal a track list beneath the player.


Behavior

Visibility

Initial appearance

When bottom sheets initially appear on screen, they may contain content that extends below the bottom of the screen. They can be swiped or dragged up to become full-screen. Depending on the content, bottom sheets can also become full-screen by tapping on their surface or an expand icon.

Full-screen

When full-screen, bottom sheets can be internally scrolled to reveal additional content. A toolbar should be used to provide a collapse or close affordance to exit this view. Bottom sheets full screen.mp4image.png
Do
Partially visible bottom sheets can be dragged to full-screen view and scroll internally.

Sports behavior.mp4image.png
Do
Include a close affordance in a full-height modal bottom sheet to dismiss the sheet.


Scaling and adaptation

On mobile devices, bottom sheets extend across the width of a screen and are elevated above the primary content. Bottom sheets should scale to fit larger screens in one of three ways:

  • Setting a maximum width
  • Switching to a floating sheet
  • Switching to a side sheet to reduce the amount of space occupied on larger screens.

image.png
image.png
Don’t
Don’t use full-width bottom sheets in large screen layouts.

On large screens, bottom sheets that contain a set of actions can become a context menu to preserve the intent and context of the primary content.
image.png
image.png
Do
When adapting for larger screens, a bottom sheet can become a context menu.

image.png
image.png
Do
Swap the bottom sheet for a side sheet in landscape layouts.


Standard bottom sheet

Usage

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.
image.png
image.png
Do
Standard bottom sheets can contain supplementary content that continues below the screen, such as location information over a map.

image.png
image.png
Do
Use a standard bottom sheet to persist an important feature such as media controls in a music app.


Behavior

Interaction

Standard bottom sheets remain on-screen when a user interacts with the main UI region or the sheet itself. They have a default elevation of 8dp, which allows content in the main UI region behind to scroll or pan and for the sheet to temporarily cover the main UI region when made full-screen. At full-screen height, they should contain a collapse icon in an app bar to return to their initial position.
image.png
image.png
Do
Standard bottom sheets are elevated above the main UI region so their visibility is not affected by panning or scrolling.

image.png
image.png
Do
This music player in a standard bottom sheet remains on-screen as the user browses available music.


Placement

The contents of standard bottom sheets on mobile can be moved into side sheets on larger screen sizes given the additional horizontal space.
image.png
On mobile, the location information for this map is displayed in a standard bottom sheet due to limited screen width.

image.png
On desktop, the location information for this map is displayed in side sheet because screen widths are larger than screen heights.


Modal bottom sheet

Usage

Modal bottom sheets present a set of choices while blocking interaction with the rest of the screen. They are an alternative to inline menus and simple dialogs on mobile, providing additional room for content, iconography, and actions.

Modal bottom sheets are used in mobile apps only.

image.png
image.png
Do
Modal bottom sheets can be used instead of menus to present additional screen actions.

image.png
image.png
Do
Use a modal bottom sheet to provide deep links to another app.


Behavior

Elevation and scrim

Modal bottom sheets have a default elevation of 16dp. This elevation allows them to appear over most UI elements and allows them to be pulled up in front of the entire UI to display more options.

A modal bottom sheet causes all content and UI elements behind it to display a scrim, which indicates that they will not respond to user interaction. Tapping the scrim dismisses both the modal bottom sheet and scrim from view. Elvation and scrim modal.mp4image.png
Do
Use a visible scrim with modal bottom sheets to inform users they cannot interact with the rest of the screen.

Sports modal vid.mp4image.png
Don’t
Don’t use an invisible scrim for modal bottom sheets. This can mislead users about their ability to interact with the rest of the screen.

Visibility

To provide initial access to its top actions, the initial vertical position of modal bottom sheets is capped at 50% of the screen height.

Modal bottom sheets whose contents exceed 50% of the screen height can then be pulled across the full screen, scrolling internally to access their remaining items.

Sheet height Visibility and behavior
Under 50% of screen height Visible at full height
50 to 100% of screen height Partially visibility at 50% of screen height.
On scroll or surface tap, reveal full sheet.
Greater than or equal to 100% of screen height Partially visible at 50% of screen height.
On scroll or container tap, move to top of screen and scroll contents internally.
Add internal action to close.

image.png
image.png
Do
Modal bottom sheets with few items are fully visible upon opening.

image.png
image.png
Don’t
Don’t make tall bottom sheets full-screen upon opening. This places the top content immediately out of reach for users on mobile devices.

Control

Modal bottom sheets appear when triggered by a user action, such as tapping a button or an overflow icon. They can be dismissed by:

  • Tapping a menu item or action within the bottom sheet
  • Tapping the scrim
  • Swiping the sheet down
  • Using a close affordance within the bottom sheet’s top app bar, if available

image.png
image.png
Do
Tapping the scrim dismisses a modal bottom sheet.

image.png
image.png
Do
A modal bottom sheet can be dismissed by swiping the sheet down.

image.png
image.png
Do
Display a close affordance in a full-screen modal bottom sheet.


Placement

Modal bottom sheets are most effective on small screens.

On larger screens, use menus or dialogs to create clear visual connections to the triggering UI element.
image.png
An overflow menu using a bottom sheet on mobile (1) and an inline menu on desktop (2).


Expanding bottom sheet

Usage

An expanding bottom sheet is a surface anchored to the bottom of the screen that users can expand to access a feature or task. It can be used for:

  • Persistently displaying a cross-app feature, such as a shopping cart
  • Collecting and acting on user selections from a set of items, such as photos in a gallery
  • Supporting tasks, such as chat and comments
  • Indirect navigation between items, such as videos in a playlist

Expanding bottom sheets are recommended for use on mobile and tablet. Cereamic mug.mp4image.png
Do
Place supporting features, such as chat, in an expanding bottom sheet. In this example, an expanding bottom sheet allows users to switch between viewing a product and contacting customer service.

Cereamic mug.mp4image.png
Do
Use an expanding bottom sheet for advanced item selection. In this photos app, the expanded sheet allows users to review and take action on selected images.

Expanding bottom sheets and floating action buttons shouldn’t be used for the same purposes.

  • Floating action buttons are used for actions only, and they don’t respond to a user’s interaction with the rest of the screen. They can transform into larger surfaces to allow a user to complete an action.
  • Expanding bottom sheets transform into larger surfaces and can update their content to reflect user interactions.


image.png
image.png
Do
Use an expanding bottom sheet to give access to a feature. It can also display updates on the status of that feature.

image.png
image.png
Don’t
Don’t use a floating action button in place of an expanding bottom sheet. Floating action buttons are meant for actions only.


Anatomy

Expanding bottom sheets are anchored to the bottom corner of the screen. They have two states: a small, collapsed state and a larger, expanded state.
image.png
Collapsed state
1.Container
2.Icon
3.Label (Optional)

Expanded state
4.Header
5.Close action
6.Label
7.Content

Collapsed

When collapsed, an expanding bottom sheet is intended to be small and informative.

  • It can use shape and color to express that it is interactive.
  • An icon is required at minimum, and larger screen sizes should also include a short text label.
  • To avoid blocking content, the width shouldn’t exceed half the screen.

image.png
image.png
Do
Use a short label in the collapsed state of an expanding bottom sheet to explain the feature or track updates, such as the number of unread messages.

image.png
image.png
Don’t
Don’t increase the height or width of a collapsed expanding bottom sheet by stacking elements, wrapping text, or using long labels.

Expanded

When expanded, an expanding bottom sheet is full-screen on mobile (1), but can be smaller on tablet and desktop based on its content (2).

  • It contains a fixed header with a title and an affordance to collapse the sheet.

image.png
This bottom sheet covers the full screen on mobile (1). On tablet, it’s shorter to keep the main content visible (2) (Tablet example scaled to 62.5%.)


Behavior

Expanding bottom sheets can be expanded and collapsed.

Controls

Expanding bottom sheets can be expanded and collapsed.

  • When collapsed, the entire container is interactive, and tapping it expands the sheet.
  • Once expanded, the sheet displays an app bar with an action icon that enables collapsing the sheet. In addition, it can display a contextual action in the sheet that completes a task, such as “Checkout”, “Submit”, or “Download” buttons.

image.png
image.png
Do
A collapsed bottom sheet expands the sheet when tapped.

image.png
image.png
Don’t
Don’t add additional actions to a collapsed bottom sheet. Those actions should only appear when the sheet is expanded, in the expanded area.

image.png
Expanded bottom sheets must contain a dedicated affordance to collapse, such as an action icon (1). They can also be dismissed by an embedded action that completes the sheet’s task, such as the “Save” button in this image selection screen (2).


Placement

Expanding bottom sheets are fixed to the bottom, trailing corner of the screen to minimize obstructing the screen’s main content.
image.png
image.png
Do
Place expanding bottom sheets along the trailing edge of the screen. In this layout, the page’s headings can be read without interruption.

image.png
image.png
Don’t
Don’t place expanding bottom sheets along the leading edge of the screen. In this layout, the placement of the collapsed sheet obstructs headings and actions.

Mobile

On mobile devices, an expanding bottom sheet affects other bottom-aligned components. It could obstruct important features such as bottom navigation, or create confusion when placed next to a floating action button.

The following recommendations suggest when and how to pair an expanding bottom sheet with nearby components:

Component Pair with an expanding bottom sheet? Recommendation
Bottom navigation Caution Place a collapsed sheet above bottom navigation. Hide bottom navigation on scroll and when a sheet expands.
Bottom app bar No A bottom app bar would obstruct a collapsed sheet.
Floating action button: Regular No Collapsed sheets have similar size and placement as floating action buttons, which may confuse users about the usage of each.
Floating action button: Extended Caution An extended floating action button can be used if center-aligned, so it doesn’t overlap with a collapsed sheet. The button width and collapsed sheet should both be short and styled differently from one other.
On-screen keyboard Yes When the keyboard appears, it covers the sheet. When the sheet is collapsed, it doesn’t attach to the keyboard.
Snackbar Yes To avoid overlap, place a snackbar above a collapsed sheet.

image.png
image.png
Caution
An expanding bottom sheet can be paired with other bottom-aligned components if done carefully. Example A shows a bottom sheet displaying both a label and message, as there is sufficient room to do so. Example B has a prominent extended floating action button instead, giving the sheet room to display only an icon.

Tablet and desktop

On larger screens, expanding bottom sheets don’t need to expand to the screen’s height or width. At a smaller size, expanding bottom sheets enable multi-tasking and other uses of screen space.

As their placement at the bottom of the screen may make them less noticeable, their content can be placed in a side sheet or accessed from a top app bar.
image.png
On tablet and desktop, this expanding bottom sheet doesn’t take up the full width or height of the screen, as it does on mobile.

image.png
On tablet and desktop, the bottom sheet content moves into a side sheet, where it remains visible. On mobile, this expanding bottom sheet contains a selection queue.


主题

Posivibes Material Theme

This social media app’s bottom sheets have been customized using Material Theming. Areas of customization include color and shape.
image.png
Posivibe’s customized bottom sheets

Color

Posivibe’s bottom sheets use custom color on three elements: container, text, and icons.
image.png

Element Category Attribute Value
Container Surface Color
Opacity
#FFFFFF
100%
Text, icons On Surface Color
Opacity
#000000
100%

Shape

Posivibe’s bottom sheets use a custom container shape. Bottom sheets can only be shaped on the top left and top right corners.
image.png

Element Category Attribute Value
Container Large component Family
Size
Cut
0;0; n/a; n/a dp*

Shrine Material Theme

Shrine is a retail app, and its expanding bottom sheet has been customized using Material Theming. Areas of customization include color and shape.
image.png
Shrine’s customized expanding bottom sheet

Color

Shrine’s expanding bottom sheet uses custom colors on its container and icon.
image.png

Element Category Attribute Value
Container Secondary Color
Opacity
#FEEAE6
100%
Container On Secondary Color
Opacity
#442C2E
100%

Shape

The collapsed state of Shrine’s expanding bottom sheet uses a custom container shape.

The top leading corner is shaped to help indicate it is interactive.*Expanding bottom sheets can only be shaped on the top left corner.
image.png

Element Category Attribute Value
Container Large component Family
Size
Cut
0; n/a; n/a; n/a dp*

Specs

Modal bottom sheet for mobile

image.png
image.png


Standard bottom sheet for mobile

image.png