【问题标题】:how to handle switch page logic on back press in flutter如何在颤动中处理后按时的切换页面逻辑
【发布时间】:2018-06-02 04:20:11
【问题描述】:

我是 Flutter 的新手,我通过 onWillPop () 回传了按下事件以显示警报对话框。但我只需要显示主页的警报对话框(比如你想退出吗?)。在代码中,如果当前页面是主页,则我有一个类似于当前页面的类型,然后只显示警报对话框或切换到主页。

代码

if(currentType == Home)
{
    showExitDialog();
}
else
{
   switchToHome();
}

我在哪里可以处理这个?

【问题讨论】:

    标签: android ios dart flutter onbackpressed


    【解决方案1】:

    在您的应用栏上设置自定义 leading 属性。

    默认值是返回一页,所以如果你什么都不设置,返回箭头会在那里,它会做Navigator.of(context).maybePop();

    来自 Navigator 文档

    如果这是 null 并且 [automaticallyImplyLeading] 设置为 true,则 [AppBar] 将暗示适当的小部件。例如,如果 [AppBar] 位于还具有 [Drawer] 的 [Scaffold] 中,则 [Scaffold] 将使用打开抽屉的 [IconButton] 填充此小部件(使用 [Icons.menu])。如果没有 [Drawer] 并且父 [Navigator] 可以返回,则 [AppBar] 将使用调用 [Navigator.maybePop] 的 [BackButton]。

    但如果你想覆盖它,请这样做

    在您的主页上

      appBar: AppBar(
        leading: IconButton(icon: Icon(Icons.exit_to_app),onPressed: (){
          exitTheApp();
        },),
      ),
    

    在您的其他 AppBar 上

      appBar: AppBar(
        leading: IconButton(icon: Icon(Icons.home),onPressed: (){
          showHomePage();
        },),
      ),
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-13
    • 2021-02-13
    • 1970-01-01
    • 2018-12-12
    • 2020-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多