← 返回 Android 词条

侧边导航轨

Android原生支持

在 Android 上叫Navigation Rail

也叫 Collapsed Navigation Rail · Expanded Navigation Rail

Compose Material 3: NavigationRail / WideNavigationRail / ModalWideNavigationRail

适用范围:Android medium 到 extra-large 断点;展开态也可覆盖在更小的屏幕上

M3 Expressive 更新把它拆成两个变体:收起态取代基线导航轨,展开态取代导航抽屉;两者外观一致,靠菜单按钮互相切换。基线导航轨本身已不再被推荐。展开态又分两种配置:标准配置与正文并排,模态配置覆盖在正文之上,并且可以覆盖在更小屏幕的内容上、靠菜单按钮打开。「compact 窗口一律用底部导航栏」这句写在收起态那一节里,约束的是收起态;overview 给整个组件的用法范围列的是 medium / expanded / large / extra-large 四个窗口尺寸类,同一页的配图说明又写两种形态可以在包括竖屏手机在内的任何设备上互相切换——三处并存,这里按各自原文记录,不做取舍。Compose 的组件指南页至今只写 NavigationRail 与 NavigationRailItem,没有提到这两个变体;WideNavigationRail 与 ModalWideNavigationRail 在 androidx.compose.material3 的 API 索引里已经列出。

它把几个主要页面入口竖直排在屏幕侧边,可以是窄窄的一条,也可以展开得更宽、放下更多入口。

  • 屏幕左边竖着一排切页面图标
  • 平板侧边那条窄窄的导航
  • 一列固定在边上的页面入口
  • 侧边那条能变宽的导航
  • 侧边导航能收起也能变宽
  • 导航轨
  • 竖向导航栏
  • 侧边图标导航
  • 展开式侧边导航轨

其他平台的相似实现

Web需自己实现
该平台没有原生实现

网页没有原生导航轨,需要用导航链接和响应式布局自行实现。

看 Web 视角 →
iOS需自己实现
该平台没有原生实现

苹果没有导航轨这个组件。

看 iOS 视角 →

使用规范

什么时候用

  • medium 到 extra-large 断点需要三到七个一级目的地,用收起态
  • 窗口更大、横向空间富余时用展开态的标准配置,它与正文并排
  • 布局信息密度高、空间紧张,或目的地很多,用展开态的模态配置,它覆盖在正文之上

什么时候别用

  • 手机这类 compact 窗口 → 不要常驻收起态,主导航用底部标签栏
  • medium 窗口而目的地很少 → 官方建议改用底部标签栏

容易混淆

Android 出处

查看 Web / iOS / Android 完整对照 →