Flutter - 如何在不使用 MaterialApp 的情况下处理导航?

Unc*_*tor 5 flutter flutter-navigation

在 flutter 中,创建命名路由既简单又合乎逻辑,但仅限于返回 MaterialApp 时。

class MyApp extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
        initialRoute: "/";

        return MaterialApp( //gives errors when I return a Container
            routes: {
                "/" : (context) => FirstRoute(),
                "/second route" : (context) => SecondRoute()
            }
        );
    } 
}
Run Code Online (Sandbox Code Playgroud)

我不是 Material Design 的忠实粉丝,我想从我自己的设计中创建一个 UI。

但是当我在返回容器时应用相同的模式时,我收到一个错误。

所以我的问题是我如何使用香草 Flutter 应用程序命名路由设置,或者我是否被迫在我的项目中使用 MaterialApp?

提前致谢

Adr*_*ray 2

MaterialApp 只是导航器等常用组件的集合。您还可以使用 CupertinoApp。Material 在 iOS 上使用 iOS 导航动画,在 android 上使用 Android 动画。尽管您\xe2\x80\x99 并不拘泥于UI 设计,因为您\xe2\x80\x99 正在使用MaterialApp 作为基础。您可以使用 Material 应用程序构建任何您想要的 UI,甚至使用 Cupertino 小部件。\xe2\x80\x99 一切都由你决定。

\n

  • 还有不受 iOS 或 Android 特定约束的 [WidgetsApp](https://api.flutter.dev/flutter/widgets/WidgetsApp-class.html)。它也有路线导航。 (3认同)