底部导航栏让用户只需轻触一次即可浏览并切换顶级视图。
点击底部导航图标,可以直接进入对应视图、或者刷新当前视图。
底部导航栏主要用于移动设备。如果要在桌面设备上实现类似效果,请使用侧边导航。
用法
- 有 3–5 个顶级视图
- 对应的视图应支持直接访问
颜色
激活状态的导航项的图标和文本使用主色。如果底部导航栏已有背景色,则使用白色或黑色的图标和文本。
规格
- 每个导航项的宽度 = 视图宽度 ÷ 导航项数量(单项目标宽度范围:80dp–168dp)
- 高度:56dp
- 图标:24 x 24dp

点击底部导航图标,可以直接进入对应视图、或者刷新当前视图。
底部导航栏主要用于移动设备。如果要在桌面设备上实现类似效果,请使用侧边导航。
激活状态的导航项的图标和文本使用主色。如果底部导航栏已有背景色,则使用白色或黑色的图标和文本。

底部导航栏可以快速切换应用的不同视图。它主要为移动端设计。
在较大的显示器上,例如桌面显示器,可以通过侧边导航实现类似的效果。例如,在侧边栏使用简洁的“轨道”来排列导航图标。

移动端的底部导航栏

在较大的显示器上(如平板和桌面端)的左侧导航
底部导航栏适用于:

推荐做法
底部导航栏显示 3–5 个导航项。

不推荐做法
如果目标少于 3 个,考虑使用选项卡代替。
如果你的顶级导航目标超过 6 个,请将未覆盖的目标放到其他入口(例如导航抽屉)中。

推荐做法
视图固定在底部导航栏中。

不推荐做法
避免在底部导航栏中出现滚动条。

推荐做法
底部导航栏最多使用 5 个顶级目标。

不推荐做法
底部导航的导航项数量不要超过 5 个,否则它们之间的间距会过小。
同时使用底部导航栏与选项卡时要谨慎,因为这种组合可能导致导航混乱。例如,在同一内容上同时点击选项卡与底部导航栏,可能会混合出现不同的过渡效果。
底部导航项中的图标应该和它的目标视图的内容相符。
根据下面的条件来为每个导航项设置样式:
激活状态的导航项的图标和文本需要使用主色。

推荐做法
使用主色来表明激活状态。

不推荐做法
避免使用不同颜色的图标和文字。
如果底部导航栏已有背景色,将导航项的图标和文本设置为白色或黑色。

推荐做法
如果底部导航栏已有背景色,使用黑色或白色的图标和文本。

不推荐做法
避免在有背景色的底部导航栏上使用其他颜色的图标和文本。
文本标签是对导航项图标的简短说明。这些文本不会被截断或换行,所以应避免使用长文本。

推荐做法
使用短文本

不推荐做法
避免使用多行文本

不推荐做法
避免截断文本,因为这样会导致理解困难。

不推荐做法
避免为了使文本在单行显示而缩小文本。
使用底部导航栏,可以从一个主题的较深层级快速进入另一个主题的顶部。用户在不同层级间切换时,应使底部导航栏始终显示、或者在滚动时显示或隐藏,来使底部导航栏始终可用。
底部导航栏不能用于:
在 Android 上,不能通过点击后退按钮来切换底部的导航项。
点击底部导航栏的图标将直接进入相应视图,或刷新当前激活的视图。每个图标都必须指向一个目标视图,不能打开菜单或对话框。
点击当前激活的底部导航项,将滚动至对应视图的顶部。
通过底部导航栏进行导航应重置导航堆栈(即清空当前视图的浏览历史)。
底部导航栏会随着界面的滚动而显示或隐藏:
底部导航栏可以自动隐藏和显示,以带给用户沉浸式的浏览体验。
在应用的层级页面之间切换时,底部导航栏应保持可见。
在内容区域使用滑动手势无法进行视图的切换。
推荐做法
在不同视图中切换时使用淡入淡出的过渡效果。
不推荐做法
避免使用横向滑动来切换视图。
用底部导航栏的宽度除以导航项的个数,就是每个导航项的宽度:
导航项的宽度 = 导航栏宽度 / 导航项数量
例如:导航栏宽度是 360dp,有 3 个导航项,那么每个导航项宽度是 120dp。
桌面端和更大屏幕
另一种做法是将所有导航项的宽度设置为与最宽的导航项一致。

移动设备上,固定状态的底部导航栏
移动设备上,固定状态的底部导航栏
最小宽度和最大宽度(这个值已经包含了内边距):
高度:
56dp
图标大小:
24 x 24dp
内容对齐方式:
文本和图标需水平居中。
内边距:
文本标签:

最小宽度 80dp
内边距 12dp

高度 56dp
文本的左右内边距 12dp
文本下方内边距 10dp

最大宽度 168dp
内边距 12dp

底部导航栏示例

移动设备横屏状态下,固定状态的底部导航栏。
高度 56dp
图标大小 24 x 24dp
图标上方内边距 6dp(激活状态)
图标上方内边距 8dp(不激活状态)
文本下方内边距 10dp

平板设备上,固定状态的底部导航栏
高度 56dp
图标大小 24 x 24dp
图标上方内边距 6dp(激活状态)
图标上方内边距 8dp(不激活状态)
文本下方内边距 10dp
最小宽度和最大宽度(包含内边距):
激活状态
不激活状态
高度:
56dp
图标大小:
24 x 24dp
内容对齐方式:
文本和图标需水平居中。
内边距:
文本标签:
Roboto Regular 14sp(激活状态)

移动设备上,可切换的底部导航栏
高度 56dp
图标大小 24 x 24dp
图标上方内边距 6dp(激活状态)
文本下方内边距 10dp
图标下方内边距 6dp
没有文本时,图标下方内边距 16dp
移动设备上,可切换的底部导航栏

激活状态:最小宽度 96dp

不激活状态:最小宽度 56dp

激活的导航项上的文本标签可以使用最大宽度。

激活状态:最大宽度 168dp

不激活状态:最大宽度 96dp

激活的导航项上的文本标签可以使用最大宽度。

移动设备横屏状态下,可切换底部导航栏
高度 56dp
图标大小 24 x 24dp
图标上方内边距 6dp(激活状态)
文本下方内边距 10dp
图标下方内边距 6dp
没有文本时,图标下方内边距 16dp

平板上的可切换底部导航栏
高度 56dp
图标大小 24 x 24dp
图标上方内边距 6dp(激活状态)
文本下方内边距 10dp
图标下方内边距 6dp
没有文本时,图标下方内边距 16dp
因为 Snackbar 的海拔高度为 6dp,而底部导航栏的海拔高度为 8dp,所以 Snackbar 会显示在底部导航栏的后面。
而底部面板、导航抽屉和键盘会显示在底部导航栏上方,并将其完全覆盖。

Snackbar 在底部导航栏后面。
底部面板和键盘在底部导航栏上方,完全覆盖住底部导航栏。

应用结构的正交视图。