Вы можете использовать любое имя, какое захотите (как правило, мы видели xxxScreen.dart
или xxxPage.dart
, но это полностью ваше дело).
Импортируйте свою страницу «судьба», используя страницу «происхождение», используя import
:
import 'package:myproject/myPageScreen.dart';
Флаттер предлагает 3 варианта:
- Использование Навигатор :
Navigator.of(context).push(
MaterialPageRoute(
builder: (context) =>
SecondPage(data: 'Hello there from the first page!'),
),
Используя
Именованные маршруты:
Объявите свои маршруты в MaterialApp
:
MaterialApp(
// Start the app with the "/" named route. In our case, the app will start
// on the FirstScreen Widget
initialRoute: '/',
routes: {
// When we navigate to the "/" route, build the FirstScreen Widget
'/': (context) => FirstScreen(),
// When we navigate to the "/second" route, build the SecondScreen Widget
'/second': (context) => SecondScreen(),
},
);
И затем используйте именованный маршрут с Навигатором:
onPressed: () {
Navigator.pushNamed(context, '/second');
}
Использование
onGenerateRoute
:
Объявите это свойство на вашем MaterialApp
:
return MaterialApp(
// Initially display FirstPage
initialRoute: '/',
onGenerateRoute: _getRoute,
);
И создайте генератор маршрутов :
final args = settings.arguments;
switch (settings.name) {
case '/':
return MaterialPageRoute(builder: (_) =>
FirstPage());
case '/second':
// Validation of correct data type
if (args is String) {
return MaterialPageRoute(
builder: (_) => SecondPage(
data: args,
),
);
}
Вы можете создать свой маршрутизатор в качестве другого файла, который поможет организовать ваш проект.