为此,您需要使用命名路由。使用命名路由会在你导航到新路由时为颤振提供一个特定的字符串。使用命名路由的方法在这里有很好的记录,但我将包括需要做什么的基础知识。
MaterialApp您的小部件树的顶部已经有一个。您只需要在此处使用routes命名参数定义您可能需要的路由,该参数接受类型Map<String, WidgetBuilder>,其String键String是附加到 URL 之后的/#/.
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(
brightness: Brightness.dark,
primaryColorDark: Colors.black,
fontFamily: "GoogleSansRegular",
),
routes: {
'/': (context) => HomePage(),
'/aboutPage': (context) => AboutPage(),
}
);
我建议只将String键定义为每个小部件的静态变量。通过这种方式,它们可以像 一样被访问HomePage.route,这有助于下一次必要的修改。
Navigator.push现在,您应该使用来代替 just ,Navigator.pushNamed它执行相同的操作,只是接受String路由作为参数。
使用示例:
Navigator.pushNamed(context, '/aboutPage');
使用它最终会得到一个https://owleyes.codemagic.app/#/aboutPage.