【问题标题】:How to hide bottom tab navigator (persistent_bottom_nav_bar) when the screen is not the main screens-Flutter当屏幕不是主屏幕时如何隐藏底部标签导航器(persistent_bottom_nav_bar)-Flutter
【发布时间】:2022-01-04 04:29:36
【问题描述】:

我目前正在使用 persistent_bottom_nav_bar: ^4.0.2 颤振包,它在底部选项卡导航器中显示 3 个屏幕(A、B、C 屏幕)。在第一个屏幕中,我有一个按钮可以将用户导航到另一个屏幕(D 屏幕)。问题是底部选项卡导航器(persistent_bottom_nav_bar)仍然显示在 D 屏幕中,而主屏幕是 AB,C。当屏幕不是三个主屏幕之一时,有没有办法隐藏 persistent_bottom_nav_bar ?

【问题讨论】:

    标签: flutter navigation tabnavigator


    【解决方案1】:

    如果您不想在所有屏幕中都使用底栏,则使用 persistent_bottom_nav_bar 是毫无价值的。您可以使用简单的bottomNavigationBarScaffold 属性。它会起作用的。

    【讨论】:

    • No.. 我的意思是当它不是persistent_bottom_nav_bar的主屏幕时,我只想隐藏persistent_bottom_nav_bar
    • 所以我在 persistent_bottom_nav_bar 中有 A、B、C 屏幕,但是当我通过单击屏幕 A 中的按钮导航用户时,我想将其导航到 D 屏幕。但是当我在D屏时persistent_bottom_nav_bar仍然存在,我想把它隐藏在D屏
    • 好的,知道了。如果对你有帮助,请看下面的链接! stackoverflow.com/questions/55210840/…
    • 我已经阅读了那里的解决方案,但似乎每个解决方案都没有使用persistent_bottom_nav_bar
    【解决方案2】:

    您能否检查示例代码中的persistent_bottom_nav_bar

    onScreenHideButtonPressed: () {
              setState(() {
                _hideNavBar = !_hideNavBar;
              });
            },
    

    【讨论】:

    • 据我所知onScreenHideButtonPressed 不是PersistentTabView 的属性。 onScreenHideButtonPressed 是来自屏幕的参数
    • PersistentTabView 这个属性hideNavigationBar: _hideNavBar,
    • 要使用该属性,我需要检测用户是否从第一个屏幕单击按钮(将用户导航到 D 屏幕的按钮),然后通知 PersistentTabView?但我不知道该怎么做
    • 您可以使用bloc模式或管理回调函数来处理_hideNavBar
    猜你喜欢
    • 2020-03-06
    • 1970-01-01
    • 2022-12-29
    • 1970-01-01
    • 2021-07-02
    • 1970-01-01
    • 2020-09-12
    • 2020-06-10
    • 2020-08-31
    相关资源
    最近更新 更多