在颤动中进行导航的其他方法是什么
what are other ways of doing navigation in flutter
我正在试验 flutter,我发现 flutter 在屏幕之间导航很困难还有其他方法可以做到这一点。
class FirstScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('First Screen'),
),
body: Center(
child: RaisedButton(
child: Text('Launch screen'),
onPressed: () {
// Navigate to second screen when tapped!
},
),
),
);
} }
您可以看看名为 fluro 的插件,它也有一些高级功能 https://github.com/theyakka/fluro
从一个屏幕导航到另一个屏幕基本上有两种方法。
如果你的屏幕不多可以使用下面的代码
onPressed: () { Navigator.push( 语境, MaterialPageRoute(构建器:(上下文)=> SecondScreen()), ); }
如果您有很多屏幕,您可以使用命名路线从一个地方管理您的导航
像这样在初始屏幕中添加所有路线
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
initialRoute: '/',
routes: {
'/': (context) => Screen0(),
'/first': (context) => Screen1(),
'/second': (context) => Screen2(),
},
);
}
}
然后只需输入您违抗的路线名称即可。
class Screen0 extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.purple,
title: Text('Screen 0'),
),
body: Center(
child: Column(
children: <Widget>[
RaisedButton(
color: Colors.red,
child: Text('Go To Screen 1'),
onPressed: () {
//Navigate to Screen 1
Navigator.pushNamed(context, '/first');
},
),
RaisedButton(
color: Colors.blue,
child: Text('Go To Screen 2'),
onPressed: () {
//Navigate to Screen 2
Navigator.pushNamed(context, '/second');
},
),
],
),
),
);
}
}