flutter - 使用onWillPop时,后退按钮将被禁用,并且它在应用程序的第一版中发生

标签 flutter dart navigation navigator

当用户从手机上单击“后退”按钮时,我正在使用onWillPop将用户导航到主屏幕,这是代码的一部分:

@override
  Widget build(BuildContext context) {
    return WillPopScope(
      onWillPop: () {
        Navigator.of(context).pushReplacement(
          MaterialPageRoute(
            builder: (BuildContext context) {
              return HomeAssesmentScreen();
            },
          ),
        );
        return Future.value(true);
      },
      child: Scaffold(
但是,问题是我无法单击后退按钮。后退按钮被禁用,我无法将用户导航到另一个屏幕。有没有办法重新激活后退按钮?

最佳答案

您使用Navigator.of(context).pushReplacement()方法。
此方法只是用您推送的MaterialPageRoute()替换页面堆栈中的当前页面。
如果需要后退按钮,则使用方法push()而不是pushReplacement()。

关于flutter - 使用onWillPop时,后退按钮将被禁用,并且它在应用程序的第一版中发生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64166408/

相关文章:

list - 从dart中的arraylist排列相同的自定义对象

flutter:什么时候重建 const 小部件?

android - 带导航组件的 backstack

Flutter:删除按钮中的填充 - FlatButton、ElevatedButton、OutlinedButton

flutter - Flutter SVG仅显示一种颜色

flutter - 如何在 Flutter 上生成具有不同随机起点的随机模糊渐变颜色背景?

javascript - 在我将 javascript 添加到导航组件后,HTML href 链接不起作用

javascript - 改变浏览器位置的 AJAX 导航

firebase - 如何从Firestore中的flutter中的方法访问详细信息

dialog - 是否可以禁用对话框上的阴影/覆盖?