Skip to main content

Bottom Navigation

The bottom navigation allows users to quickly navigate from one section of the app to another.

Dos and Don'ts

Do
  • Use minimum 3 and maximum 5 tabs for navigation across the app.
  • Make the navigation bar always visible. The exception is when an overlay is opened.
  • Use a clear visual hierarchy to indicate the currently active destination.
Don't
  • Don't change the tabs for a specific user flow. The navigation bar should be consistent across app screens.
  • Avoid using complex icons. Ensure the icons are simple and universally understood to minimise confusion.
  • Avoid long or complex wording; keep labels concise and direct.


Anatomy

A docked bottom navigation bar anchored at the bottom of a mobile screen.
  1. Container: Provides a filled background.
  2. Icon (selected): The icon is always filled and is visually distinguished from the inactive ones.
  3. Label: Describes the purpose and function of the tab to provide clarity, especially for less common or ambiguous icons.
  4. Home indicator: Navigation bar for accessing core system functions on Android.
  5. Icon (unselected): Visually supports the label and doesn't have a fill.
  6. Notification badge: Displays notifications, or counts on navigation items.

Variants

Docked

It's anchored at the bottom of the screen.
A bottom navigation bar with five tabs. The first tab is active, shown with an orange icon and a highlighted background. The remaining four tabs are inactive with grey icons. Each tab has a text label beneath it. A home indicator pill is centred at the bottom.

Floating

Sits on top of content.
A floating bottom navigation bar sitting on top of content on a mobile screen.

Content

Label

Labels should always be one word with clear meaning to aid navigation through the app. Avoid long or complex wording; keep labels concise and direct.

A bottom navigation bar showing concise labels beneath each icon.
A bottom navigation bar showing concise labels beneath each icon.

Notification badge

Badges appear on top of the icon. They show the number of notifications in a specific tab. The badge will change size depending on the number of digits contained without changing position.

Position

Don't override the properties of the notification badge.
A docked bottom navigation bar showing a notification badge on a tab.
A floating bottom navigation bar showing a notification badge on a tab.

Character count

  • Allow for a maximum of 2 digits.
  • A plus (+) sign should be used if the number is higher than 2 digits.
Each context and case might require different logic on when to remove the notification badge or the number of digits allowed to display.
A bottom navigation bar showing notification badges with the maximum character count of two digits and a plus sign.

Overflow

Labels should not go over one line of text. If they do the text will truncate. Avoid this happening by keeping text label succinct and testing any translations across devices. Use alternative titles if translations are too long.

A docked bottom navigation bar showing truncated label text on a tab.

Placement

Docked

It's anchored at the bottom of the screen.

A bottom navigation bar anchored at the bottom edge of a mobile screen.

Floating

Sits on top of content with 16px vertical and 24px horizontal padding.

A floating bottom navigation bar with padding above and to the sides on a mobile screen.

Interactions

Touch targets

Defines the touch targets of interactive elements across variants.

A bottom navigation bar showing the touch target areas for each tab.
  1. Active tab: Navigates to a section in the app.

Interactive states

Default

The icon doesn't have a fill.
A bottom navigation bar showing tabs in the default state with unfilled icons.

Active

The icon doesn't have a fill but has a background using `$active-01`.
A bottom navigation bar showing a tab in the active state with a background highlight.

Selected

The icon has a fill, a background with opacity and the colour changes.
A bottom navigation bar showing a tab in the selected state with a filled icon and coloured background.

Examples

LTR examples

Here are some examples of the Android Bottom navigation in left-to-right context.

An example of the Android bottom navigation in a left-to-right layout.
An example of the Android bottom navigation in a left-to-right layout.

RTL examples

Here are some examples of the Android Bottom navigation in right-to-left context.

An example of the Android bottom navigation in a right-to-left layout.
An example of the Android bottom navigation in a right-to-left layout.
Back to top