(译)MaterialDesign(二十二)Bottom Nav
Bottom Navigation Bar可以使你在一个点击区域内切换不同的界面。
轻触底部导航图标可直接进入相关联的视图或刷新当前活动的视图。
底部导航主要用于移动设备。 要实现类似效果的桌面应用,请使用侧导航。
用法
-
三到五个顶级的界面。
-
顶级页面要能够直接到达。
颜色
使用应用程序的主颜色来调整活动图标。 如果底部导航栏已经着色,请使用黑色或白色。
规范
每个图标的点击区域宽度:可点击的区域宽度除以图标个数。
最大为168dp,最小为80dp
导航栏高度:56dp
图标尺寸:24 x 24dp
![](https://img.haomeiwen.com/i2464344/3e326c5339a46ef3.png)
用法
底部导航提供应用程序的顶级视图之间的快速导航。 它主要设计用于移动。
![](https://img.haomeiwen.com/i2464344/fc1615b737a93da3.png)
较大的显示器,例如桌面,可以通过使用侧边导航来实现类似的效果。 例如,紧凑的“轨道”处理默认显示导航图标。
![](https://img.haomeiwen.com/i2464344/92247ce9c7399733.png)
何时使用
底部导航应用于:
- 三到五个相似重要性的顶级界面(替代方法:从应用程序的任何地方访问的永久性导航抽屉)
- 需要在应用中的任何位置直接访问的目标(替代方法:仅一个或两个界面的标签)
![](https://img.haomeiwen.com/i2464344/eef01b90b38151d8.png)
正确的使用
在一个应用中有三到五个顶级界面需要直接切换使用Bottom Navtigaiton Bar
![](https://img.haomeiwen.com/i2464344/5662c21b146de2f9.png)
错误的用法
如果少于3个,请使用tabs来表示
如果你的顶级界面超过6个,请使用其他位置的导航栏(如左侧drawer navigation)来访问Bottom Navigation Bar中未覆盖的界面。
![](https://img.haomeiwen.com/i2464344/d5b6b1bba250f607.png)
正确的做法
图标固定在Bottom Navigation Bar
![](https://img.haomeiwen.com/i2464344/897522acddf0de51.png)
错误的做法
避免在底部导航栏中滚动内容。
![](https://img.haomeiwen.com/i2464344/08091e1bb9a7e30c.png)
正确的做法
在Bottom Navigation Bar中最多添加五个图标
![](https://img.haomeiwen.com/i2464344/acfcc0cbe3a524ca.png)
错误的做法
避免在底部导航中使用超过五个图标,因为点击目标将彼此太靠近影响美观。
Bottom Navigation Bar和Tabs
组合使用Bottom Navigation Bar与Tabs时,请谨慎,因为在导航应用程序时,可能导致混乱。 例如,点击两个Tabs和Bottom Navigation Bar可以在同一内容中显示不同转换的动画而混淆。
样式
图标和文本
由于Bottom Navigation通过图标产生行为操作,因此应该用文字显示他们操作的内容。
根据以下条件对每个操作进行样式设定:
- 当view获得焦点时,显示图标和文本
- 当只有三个图标时,保持图标和文本一直显示
- 当有四个或者五个图标时,将非活动视图置为只显示图标,不显示文本
颜色
使用应用程序的主颜色( primary color)来调整当前底部导航操作(包括图标和任何文本标签)。
![](https://img.haomeiwen.com/i2464344/754a7d5a643ca5ff.png)
正确的做法
当图标获得焦点时使用程序主颜色(primary color)
![](https://img.haomeiwen.com/i2464344/19180ded683e9252.png)
错误的做法
禁止使用不同颜色的图标和文字颜色
如果Bottom Navigation Bar已经被着色,请使用黑白的图标和文本
![](https://img.haomeiwen.com/i2464344/396b7a9190ce120b.png)
正确的做法
当Bottom Navigation Bar已经有颜色时使用黑白的图标和文本
![](https://img.haomeiwen.com/i2464344/acb2a0a0166d97c2.png)
错误的做法
避免使用彩色图标来匹配已经有颜色的Bottom Navigation Bar
文字
文本标签为Bottom Navigation Bar的图标提供简短,有意义的定义。 避免使用长文本标签,因为这些标签不会截断或换行。
![](https://img.haomeiwen.com/i2464344/3ea0b5fdffd9efae.png)
正确的做法
使用较短的文本标签
![](https://img.haomeiwen.com/i2464344/11aff1df65f84d77.png)
错误的做法
避免使用过长的文本标签
![](https://img.haomeiwen.com/i2464344/a309ea58f740cb96.png)
错误的做法
避免截断文字,这样做可能会妨碍用户理解文字内容
![](https://img.haomeiwen.com/i2464344/e5c072da0d91fb13.png)
错误的做法
避免缩小文本来使文本在一行内显示
行为
点击Bottom Navigation Bar的图标可直接转到相关联的视图,或刷新当前活动的视图。
每个底部导航图标必须连接到它所指向的界面,并且不会打开菜单或其他弹出窗口。
在Android上,“后退”按钮不会在底部导航栏视图之间导航。
![](https://img.haomeiwen.com/i2464344/6210061fe9b3cebb.gif)
点击显示Bottom Navigation Bar时,应该显示当前活动按钮中的顶部位置
![](https://img.haomeiwen.com/i2464344/d083af6488ddaeaf.gif)
点击其他界面图标后再次返回时应该重置状态
Bottom Navigation Bar可以在滚动式动态的显示和隐藏。
向下滚动时应该隐藏
向上滚动时显示
![](https://img.haomeiwen.com/i2464344/7dd6ce9c80cefb1b.gif)
Bottom Navigation Bar可以消失并重新显示,以配合沉浸式内容视图。
![](https://img.haomeiwen.com/i2464344/73aeb3989f1a3ec7.gif)
在浏览应用程序层次结构时,Bottom Navigation Bar仍保持可见。
在内容区域上使用滑动手势不会在视图之间导航。(这条貌似有点问题)
![](https://img.haomeiwen.com/i2464344/e3341afadb38cdbd.gif)
正确的做法
使用交叉淡入淡出动画在活动和非活动视图之间切换。
![](https://img.haomeiwen.com/i2464344/a968b24b7cfd412c.gif)
错误的做法
避免使用横向运动在视图之间转换。
规范
固定Bottom Navigation Bar
要计算每个Bottom Navigation按钮的宽度,请将视图的宽度除以按钮数:
按钮宽度=整个视图的宽度/按钮数
例如,如果视图的宽度为360dp,并且有三个按钮,则每个操作的宽度应为120dp。
![](https://img.haomeiwen.com/i2464344/5f31810a31b905b7.png)
固定在底部的Bottom Navigation Bar
宽度的最大值和最小值(包含padding):
- 最大:168dp
- 最小:80dp
- 高度:56dp
- 图标:24*24dp
- align:文本和图标在视图中水平居中。
- padding:6dp(活动视图),8dp(非活动视图)
- Roboto Regular(字体大小):14sp(主动视图),12sp(非活动视图)
![](https://img.haomeiwen.com/i2464344/61114df95f567e12.png)
![](https://img.haomeiwen.com/i2464344/cb9a6dacce8bde55.png)
![](https://img.haomeiwen.com/i2464344/5f31810a31b905b7.png)
56dp height,12dp left and right of text ,10dp under text
![](https://img.haomeiwen.com/i2464344/bc4e7afb556fef7b.png)
横屏是的Bottom Navigation Bar
56dp height,24 x 24dp icon,6dp above icon (active view),8dp above icon (inactive view),10dp under text
![](https://img.haomeiwen.com/i2464344/d8154fe902f5c940.png)
平板电脑上的Bottom Navigation Bar
56dp height,24 x 24dp icon,6dp above icon (active view),8dp above icon (inactive view),10dp under text
Bottom Navigation Bar图标的移动
宽度最小值和最大值(包括Padding):
-
活动视图
- 最大:168dp
- 最小:96dp
-
非活动视图
- 最大:96dp
- 最低:56dp
- 高度:56dp
-
图标:24 x 24dp
-
align:文本和图标在视图中水平居中。
-
padding:6dp上方图标(活动视图),16dp上方和下方图标(不活动视图),10dp下的文本
-
文字标签:Roboto Regular 14sp(主动视图)
![](https://img.haomeiwen.com/i2464344/dd888810748259e5.png)
移设备上的Bottom Navigation Bar
56dp height,24 x 24dp icon,6dp above icon (active view),10dp under text,6dp below icon,16dp below icon with no title
![](https://img.haomeiwen.com/i2464344/af53ef0f3f5998f2.png)
活动视图:最小宽度96dp
![](https://img.haomeiwen.com/i2464344/8ef061e66ca64a4a.png)
活动视图:最大宽度168dp
![](https://img.haomeiwen.com/i2464344/bdb22b3940a4c8aa.png)
非活动视图:最小宽度56dp
![](https://img.haomeiwen.com/i2464344/2219f23b2a63e539.png)
非活动视图:最大宽度96dp
![](https://img.haomeiwen.com/i2464344/a0587c2470d323ba.png)
![](https://img.haomeiwen.com/i2464344/41349aa69a4537e1.png)
活动视图的文本标签使用最大宽度
![](https://img.haomeiwen.com/i2464344/9b19793faa0dc8c5.png)
横屏模式
56dp height,24 x 24dp icon,6dp above icon (active view),10dp under text,6dp below icon,16dp below icon with no title
![](https://img.haomeiwen.com/i2464344/b1618e8895158548.png)
平板上的Bottom Navigation Bar
56dp height,24 x 24dp icon,6dp above icon (active view),10dp under text,6dp below icon,16dp below icon with no title
高度
由于snackbars的高度属性(6dp)比Bottom Navigation Bar的高度属性(8dp)低,所以会展现在Bottom Navigation Bar的下边。
![](https://img.haomeiwen.com/i2464344/7cfa4045420f7e2e.png)
由于Bottom Sheets、NavigationDrawer、和Keyboard会暂时性展现在Bottom Navigation Bar前边。
![](https://img.haomeiwen.com/i2464344/cf3fbf4606c41ef9.gif)
![](https://img.haomeiwen.com/i2464344/d4c7ed1a09fdea48.png)