Flutter appBar后退按钮不出现

Posted

技术标签:

【中文标题】Flutter appBar后退按钮不出现【英文标题】:Flutter appBar Backbutton doesn't appear 【发布时间】:2018-02-08 19:00:01 【问题描述】:

我已成功导航到新文件中的类,但现在我的 appBar 上没有返回按钮。这是我在 main.dart 中的导航...

new RaisedButton(
                onPressed: () 
                  Navigator.pushNamed(context, '/searchpage');
                ,

这是我的 SearchPage appBar..

class SearchPageState extends State<SearchPage> 
  @override
  Widget build(BuildContext context) 
    return new MaterialApp(
        routes: <String, WidgetBuilder>
          '/loginpage': (BuildContext context) => new Login.LoginPage(),
          '/mainpage': (BuildContext context) => new Main.MyApp(),
        ,
        home: new Scaffold(
      appBar: new AppBar(
        title: new Text(
          "Search",
          style: new TextStyle(fontWeight: FontWeight.bold),
        ),
      ),

【问题讨论】:

检查附加链接中的 Sameh Khemira 答案。 ***.com/a/60097799/17211037 【参考方案1】:

您的应用根目录中应该只有一个MaterialApp。每个MaterialApp 都会创建自己的Navigator,并且导航堆栈上存在多个路由是导致隐式返回按钮出现在AppBarleading 槽中的原因。

【讨论】:

谢谢,真的很有帮助!它通过在子页面小​​部件中返回一个 Scaffold 而不是在新的 MaterialApp 中具有它来工作。【参考方案2】:

从页面中删除NavigationDrawer,您需要看到返回按钮。 如果您的页面指定了 NavigationDrawer,则将显示汉堡菜单而不是返回按钮。

【讨论】:

以上是关于Flutter appBar后退按钮不出现的主要内容,如果未能解决你的问题,请参考以下文章

Flutter Page Navigation:后退按钮与 AppBar 的后退箭头具有相同的行为

如何在flutter中停用或覆盖appBar中的箭头后退按钮?

Flutter(11):基础组件之AppBar

Flutter 中的设备后退按钮覆盖

使用带有 Flutter 后退按钮的 onGenerateRoute 时断言失败

如何在颤动中拦截AppBar中的后退按钮