小编Igo*_*din的帖子

在 Flutter 中在平板电脑上制作固定的应用程序菜单而不是抽屉

我的应用程序有很多路由,几乎每条路由都使用 Scaffold 和相同的 Drawer 菜单在应用程序内导航(我自己的 CustomDrawer 小部件)。对于大屏幕的设备,我想总是在布局的左侧显示菜单,而不是使用 Drawer(它在 Gmail 应用程序中是这样工作的。我附上了一张图片)。换句话说,我需要使用固定菜单制作响应式布局。

例子

我试过的:

  • 我知道你可以使用 LayoutBuilder 来学习约束大小;
  • 在每条路线内制作相同的布局是可行的,但这是一个糟糕的解决方案,因为每条路线都会为自己构建菜单(滚动位置会不同,许多菜单会有许多状态等)。对于许多不同的路线,我需要一个应用程序范围的菜单,但不可能在顶级路线上进行布局;
  • 将所有路由压缩为一条路由并改变主要内容的状态将需要大量重构,而且听起来一点也不好。

在 React 中,应用程序布局看起来像这样:

    <App>
      <Menu />
      <main className="content">
        <Switch>
          <Route path="/about" component={About} />
          <Route path="/contact" component={Contact} />
          <Route path="/" component={Home} />
        </Switch>
      </main>
    </App>
Run Code Online (Sandbox Code Playgroud)

但我不知道如何在 Flutter 中制作这样的东西。

tl; dr:为了使 UI 响应大屏幕,我想显示固定菜单而不是抽屉。整个应用程序的一个菜单,而不是每条路线。

drawer flutter flutter-layout

6
推荐指数
1
解决办法
2891
查看次数

标签 统计

drawer ×1

flutter ×1

flutter-layout ×1