在颤动中隐藏后退按钮

Posted

技术标签:

【中文标题】在颤动中隐藏后退按钮【英文标题】:Hide back button in flutter 【发布时间】:2020-06-06 08:23:58 【问题描述】:

我在 Flutter 中的一些屏幕上使用有状态和无状态小部件。

我想隐藏后退按钮是某个屏幕,想显示后退按钮是某个屏幕我该怎么做。 我没有为返回按钮编写任何代码,它只是默认出现。

我正在使用下面的代码将参数推送到另一个屏幕

Navigator.push(
          context,
          MaterialPageRoute(
            builder: (context) => Nextscreen('parameter1','Parameter2'),
          ));

或以下代码,当没有参数时: Navigator.of(context).pushNamed(NEXT_SCREEN);

【问题讨论】:

【参考方案1】:

如果您想在 Scaffold 页面的 AppBar 中隐藏后退按钮,请传递 AppBar 属性 automaticallyImplyLeading,其值为 false

  appBar: AppBar(
    automaticallyImplyLeading: false,
    ...
  )

【讨论】:

【参考方案2】:

在您创建Scaffold 的屏幕中,您可以将某些内容传递给AppBarleading 属性,它将覆盖出现的默认后退按钮小部件。所以如果你什么都不想要,你可以在参数存在时传递一个空的Container,否则传递一个null

Scaffold(
  appBar: AppBar(
    leading: widget.parameter1 ?? Container() : null,
    ...
  ),
  ...
),

【讨论】:

以上是关于在颤动中隐藏后退按钮的主要内容,如果未能解决你的问题,请参考以下文章

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

在颤动中按下移动后退按钮后网站应用程序未退出

使用底部导航时删除应用栏的后退按钮 - 颤动

为啥后退按钮不隐藏在导航控制器中?

如何在 uinavigationcontroller 中隐藏后退按钮

iPhone - UINavigationItem - 隐藏后退按钮