我想知道,如果有人知道一种方法,以删除显示在appBar在颤振应用程序,当你使用Navigator。pushNamed转到另一个页面。我不希望它出现在这个结果页面上的原因是它来自导航,我希望用户使用注销按钮,这样会话就可以重新开始。
当前回答
在AppBar中删除后退按钮的一个简单方法是将automcallyimplyleading设置为false。
appBar: AppBar(
title: Text("App Bar without Back Button"),
automaticallyImplyLeading: false,
),
其他回答
SliverAppBar ( automaticallyImplyLeading:假的,}
当您使用导航器时。pushNamed返回箭头自动出现在新屏幕的appBar上,用于返回前一个屏幕。如果你不想要这个功能,你所要做的就是在你的appBar属性中自动写入callyimplyleading: false。
//如果你想隐藏后退按钮使用下面的代码
class SecondScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Remove Back Button'),
//hide back button
automaticallyImplyLeading: false,
),
body: Center(
child: Container(),
),
);
}
}
//如果你想隐藏后退按钮并停止弹出动作,使用下面的代码
class SecondScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new WillPopScope(
onWillPop: () async => false,
child: Scaffold(
appBar: AppBar(
title: Text("Second Screen"),
//For hide back button
automaticallyImplyLeading: false,
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
RaisedButton(
child: Text('Back'),
onPressed: () {
Navigator.pop(context);
},
),
],
)
),
),
);
}
使用这个条子AppBar
SliverAppBar (
automaticallyImplyLeading: false,
elevation: 0,
brightness: Brightness.light,
backgroundColor: Colors.white,
pinned: true,
),
使用这个正常的Appbar
appBar: AppBar(
title: Text
("You decide on the appbar name"
style: TextStyle(color: Colors.black,),
elevation: 0,
brightness: Brightness.light,
backgroundColor: Colors.white,
automaticallyImplyLeading: false,
),
automaticallyImplyLeading:
这将检查我们是否想在应用程序栏上应用back小部件(leading小部件)。 如果automcallyimplyleading为false,则自动将空格赋给标题,如果引导小部件为true,则此参数无效。
void main() {
runApp(
new MaterialApp(
home: new Scaffold(
appBar: AppBar(
automaticallyImplyLeading: false, // Used for removing back buttoon.
title: new Center(
child: new Text("Demo App"),
),
),
body: new Container(
child: new Center(
child: Text("Hello world!"),
),
),
),
),
);
}