Navigator
创建好了这个新页面要显示的东西以后,再处理一下这个 About 按钮 .. 在它的 onPressed 这个回调里面 .. 先得到 MaterialApp 里的 navigator .. 可以这样 .. 用一下 Navigator 的 of 方法,把 context 交给它 .. 然后再用一下 push ,去把一个新的路由 push 到路由堆里面 ..
这个新的路由是一个 MaterialPageRoute 实例 .. 它里面需要再用一个 builder 去构建屏幕上要显示的东西 .. 方法里面有一个 BuildContext 类型的 context 参数 .. 方法 return 的东西,可以用一下我们在下面定义的这个 Page ... 提供一个 title 属性的值,可以设置成 About ...
实验
下面再到模拟器上试一下 .. 按一下页面上的这个 About 按钮 .. 现在会打开一个新的页面 .. 页面上有个 AppBar ... 上面的标题是 About .. 工具栏左边的 Leading 位置上会自动显示一个返回按钮 .. 按一下这个按钮会返回到之前访问的页面 ...
pop
按了这个返回按钮,实际就是执行了 navigator 上的 pop 方法,拿走了路由堆最上面那个路由 .. 这样就会露出下面的路由,显示的东西就是 NavigatorDemo 这个小部件 ..
下面我们再手工去添加一个可以返回的按钮 .. 在 Page 里面,添加一个 floatingActionButton .. 值是个 FloatingActionButton 小部件 .. child 是按钮上显示的东西,可以用一个小图标 .. 要用的小图标是 Icons.arrow_back ..
然后添加一个点按的回调 .. onPressed ... 点按了这个浮动按钮以后可以执行一下 Navigator.pop ... 把 context 告诉这个方法 ..
再到模拟器上试一下 ... 打开 About 这个页面 ... 按一下页面上的浮动按钮 .. 会执行 Navigator.pop ... 这样就会返回到上一个路由页面上 ...