在颤动中进行导航的其他方法是什么

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

从一个屏幕导航到另一个屏幕基本上有两种方法。

  1. 如果你的屏幕不多可以使用下面的代码

    onPressed: () { Navigator.push( 语境, MaterialPageRoute(构建器:(上下文)=> SecondScreen()), ); }

  2. 如果您有很多屏幕,您可以使用命名路线从一个地方管理您的导航

像这样在初始屏幕中添加所有路线

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');
              },
            ),
          ],
        ),
      ),
    );
  }
}