You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jetpack Compose的双窗格布局中实现嵌套导航?

Jetpack Compose 多屏适配导航问题

我正在使用Jetpack Compose开发一款适配不同屏幕尺寸的类设置界面应用,应用的核心导航结构如下:

  • 包含一个NavGraph,其顶层屏幕带有LazyColumn组件
  • 点击LazyColumn中的条目,会导航至NavGraph内的不同目标页面;这些目标页面本身还可以包含嵌套在顶层导航组件中的多屏导航图

小屏设备的导航实现

在小屏设备上,我使用NavHost实现典型的移动端嵌套导航:
Mobile Navigation

大屏设备的导航需求

在大屏设备上,我希望采用双窗格布局:

  • 左侧窗格放置LazyColumn
  • 选中的目标页面显示在右侧窗格;目标页面跳转的其他页面,同样在双窗格的右侧窗格打开
    Tablet Navigation

尝试方案的问题

最初我尝试为不同屏幕尺寸使用两个独立的NavHost:

  • 小屏设备使用包含顶层屏幕的NavHost
  • 大屏设备将不含顶层屏幕的NavHost嵌入右侧窗格
    但这种方式需要管理和同步两个宿主的页面状态,操作过于复杂且不切实际

内容的提问来源于stack exchange,提问作者Rivan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 18:55:05