这是使用 rootName 的示例代码,但在这里我无法使用 MaterialPageRoute 来获取 fullScreenDialog 属性。
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
initialRoute: '/',
routes: {
'/': (context) => MyHomePage(),
'/under-development': (context) => UnderDevelopment(),
'/profile1': (context) => Profile1()
},
title: appName,
debugShowCheckedModeBanner: false,
theme: ThemeData(
primaryColor: primaryColor,
accentColor: secondaryColor,
fontFamily: 'Poppins'),
);
}
}
导航器
onTap: () {
Navigator.pushNamed(context, '/profile1');
},
最佳答案
您可以在 Material App 中使用类似这样的东西。希望对您有所帮助。
onGenerateRoute: (RouteSettings settings) {
List<String> pathElements = settings.name.split("/");
if (pathElements[0] != "") return null;
switch (pathElements[1]) {
case "home":
String userID = pathElements[2];
return MaterialPageRoute(
builder: (context) => ReportsPage(
userID: userID,
),fullscreenDialog: true);
}
},
关于android - 当我使用根名称进行导航时,如何在 flutter 中创建全屏对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52922743/