Home Articles

部分屏幕的颤动导航

Asked
Viewed 870 times
3

如何在另一个小部件的框架中推送小部件?例如,我有一个带有2个容器的列,其中每个容器占用一半的屏幕 . 我想做一个导航,例如仅在底部容器中 . 当容器视图拥有自己的UINavigationController时,与iOS中的逻辑相同 .

据我所知,MaterialPageRoute只能将小部件推送到全屏,并且没有任何其他Route类,除了抽象类 . 也许我应该创建自己的ModalRoute / TransitionRoute子类?

1 Answer

  • 2

    您可以使用Navigator小部件在应用中提供任意数量的单个导航器 . 每个导航器都会维护它自己的导航堆栈:

    Column(
      children: <Widget>[
        Navigator(...),
        Navigator(...)
      ]
    )
    

    如果你这样做,你应该考虑如何处理Android后退按钮(现在技术上你的应用程序中有3个导航器) . 默认情况下,它只会监听您的根导航器,因此您必须在窗口小部件层次结构中的某处提供WillPopScope窗口小部件,以捕获后退按钮事件并从相应的导航器弹出 .

Related