我想知道,如果有人知道当您使用转到另一个页面时删除显示appBar在颤振应用程序中的后退按钮的方法。Navigator.pushNamed我不希望它出现在这个结果页面上的原因是它来自导航,我希望用户改用该logout按钮,以便会话重新开始。
appBar
Navigator.pushNamed
logout
您可以通过将空new Container()作为leading参数传递给您的AppBar.
new Container()
leading
AppBar
如果您发现自己这样做了,您可能不希望用户能够按下设备的后退按钮来返回之前的路线。pushNamed尝试调用Navigator.pushReplacementNamed以使较早的路由消失,而不是调用。
pushNamed
Navigator.pushReplacementNamed
该函数pushReplacementNamed将删除 backstack 中的先前路由并将其替换为新路由。
pushReplacementNamed
后者的完整代码示例如下。
import 'package:flutter/material.dart'; class LogoutPage extends StatelessWidget { @override Widget build(BuildContext context) { return new Scaffold( appBar: new AppBar( title: new Text("Logout Page"), ), body: new Center( child: new Text('You have been logged out'), ), ); } } class MyHomePage extends StatelessWidget { @override Widget build(BuildContext context) { return new Scaffold( appBar: new AppBar( title: new Text("Remove Back Button"), ), floatingActionButton: new FloatingActionButton( child: new Icon(Icons.fullscreen_exit), onPressed: () { Navigator.pushReplacementNamed(context, "/logout"); }, ), ); } } void main() { runApp(new MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return new MaterialApp( title: 'Flutter Demo', home: new MyHomePage(), routes: { "/logout": (_) => new LogoutPage(), }, ); } }