import 'package:flutter/material.dart';
import '../pages/FromPage.dart';
import '../pages/Search_page.dart';
final routes = {
'/from':(context,{arguments})=>FromPage(arguments: arguments),
'/search':(context,{arguments})=>SearchPage(arguments: arguments),
};
/*固定写法*/
var onGenerateRoute = (RouteSettings settings){
final String name = settings.name;
final Function PageContentBuilder = routes[name];
//
if (PageContentBuilder != null){
if ( settings.arguments != null ){
print(routes[name]);
final Route route = MaterialPageRoute(
builder: (context)=>
PageContentBuilder(context,arguments:settings.arguments));
return route;
}else{
final Route route = MaterialPageRoute(
builder: (context)=>
PageContentBuilder(context));
return route;
}
}
};
import 'package:flutter/material.dart';
import './pages/index_page.dart';
import './pages/FromPage.dart';
import './pages/Search_page.dart';
import 'routes/routes.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
// This is the theme of your application.
primarySwatch: Colors.blue,
),
home:IndexPage(),
// routes: this.routes,
//router 和onGenerateRoute不能同时使用
onGenerateRoute: onGenerateRoute,
);
}
}
//路由 跳转
Navigator.pushNamed(context,'/from',arguments:{pid:456})