我正在尝试颤振,但发现在屏幕之间导航颤振很困难,还有其他方法可以实现。
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!
},
),
),
);
} }
答案 0 :(得分:0)
您可以查看名为fluro的插件,该插件也具有一些高级功能 https://github.com/theyakka/fluro
答案 1 :(得分:0)
基本上有两种方法可以从一个屏幕导航到另一个屏幕。
如果没有很多屏幕,则可以使用以下代码
onPressed:(){ Navigator.push( 上下文 MaterialPageRoute(builder:(context)=> 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');
},
),
],
),
),
);
}
}