【问题标题】:Flutter: Move to a new screen without using navigateFlutter:在不使用导航的情况下移动到新屏幕
【发布时间】:2021-08-13 10:43:27
【问题描述】:

你有什么方法可以不使用导航打开新屏幕,我希望当我打开一个新屏幕时,当我从第二个屏幕返回时,拳头停止并继续播放,

我希望当我打开许多如下图的屏幕时,D 屏幕有一个按钮,该按钮将返回到 A 屏幕,而不是打开新标签 A 屏幕

i dont want like this

i want this

【问题讨论】:

    标签: flutter


    【解决方案1】:
    Navigator.of(context).pushAndRemoveUntil(
          MaterialPageRoute(
            builder: (BuildContext context) => A(),
          ),
          (Route route) => false,
        );
    

    以上行帮助您实现您的要求。

    将 A() 替换为您的目标类。

    【讨论】:

    • 它工作,谢谢你知道做同样事情的其他方法吗?
    • @BuuPham 与其他人相比,这个工作得很好。您可以在此处阅读有关导航器的更多信息Navigator
    【解决方案2】:

    有两种方法:

    1. 您可以使用Navigator.popUntil,因为您必须返回第一个屏幕。只有在您知道要弹出多少个屏幕时才能使用此选项。
    count = 0;
    Navigator.popUntil(context, (route) {
        return count++ == 2;
    });
    
    1. 您也可以使用Navigator.pushReplacementNamed 路由。检查链接以获取更多参考https://api.flutter.dev/flutter/widgets/Navigator/pushReplacementNamed.html
    Navigator.pushReplacementNamed(context, folder/A)
    

    【讨论】:

    • 谢谢,您知道不使用导航的其他方法吗?
    • 不使用导航器就无法切换屏幕。尽管您可以根据用户所做的活动更改屏幕上的数据。它将变得不必要的冗长而复杂的编码。
    猜你喜欢
    • 1970-01-01
    • 2018-10-06
    • 2019-06-07
    • 2020-05-24
    • 1970-01-01
    • 1970-01-01
    • 2020-03-19
    • 2019-12-02
    • 2021-08-05
    相关资源
    最近更新 更多