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

时间:2018-06-20 08:14:20

标签: dart flutter dart-pub

我正在尝试颤振,但发现在屏幕之间导航颤振很困难,还有其他方法可以实现。

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

} }

2 个答案:

答案 0 :(得分:0)

您可以查看名为fluro的插件,该插件也具有一些高级功能 https://github.com/theyakka/fluro

答案 1 :(得分:0)

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

  1. 如果没有很多屏幕,则可以使用以下代码

    onPressed:(){   Navigator.push(     上下文     MaterialPageRoute(builder:(context)=> 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');
              },
            ),
          ],
        ),
      ),
    );
  }
}