首先我们想要直接在任何地方都能跳转到某一个页面,那个我们首先要创建一个全局的GlobalKey,如下:
class Global{
static GlobalKey<NavigatorState> navigatorKey = GlobalKey();
}
然后在MaterialApp中设置navigatorKey,如下:
MaterialApp(
navigatorKey: Global.navigatorKey,
localizationsDelegates: [
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
],
supportedLocales: [
Locale('zh', 'CN'),
],
debugShowCheckedModeBanner: false,
theme: ThemeData(primaryColor: Colors.white),
// theme: ThemeData(primaryColor: Color(0xff3A4FCB)),
onGenerateRoute: onGenerateRoute,
home: AutoLogin(),
)
然后我们在需要跳转的时候是这样用的:
Global.navigatorKey.currentState.pushNamedAndRemoveUntil("/Login", (route) => route == null);
我这个地方"/Login"是我自己router,你们想跳什么界面随便定义
Global.navigatorKey.currentState后面就像我们平常的跳转就可以了,平时怎么用,这个也怎么用,和Navigator.of(context)一样