我到处搜索,找不到答案。
我有一个BottomNavigationBar和一个FloatingActionButton。
我想要做的是当用户按下FloatingActionButton.
此页面需要覆盖BottomNavigationBar和 之前的区域,AppBar因为在此新页面中,用户不允许转到 的其他选项卡BottomNavigationBar。
我遇到fullscreenDialog了PageRouteWidget 类的一个属性,很兴奋,但无法让它完全按照我想要的方式工作(顶部 <-> 底部,我将在后面解释)
此页面将拥有自己的页面Scaffold,AppBar并且能够推送/弹出到下一个屏幕(在它自己的导航树内)
为了弹出这个页面,用户将按下位于页面底部中心的“x”按钮。
我想从顶部<->底部推送/弹出这个新页面,而不是通常的左侧<->右侧导航样式(对于iOS/Cupertino)
我熟悉 iOS 设备的这种类型的 UI( ModalViewController)
那么我们将如何实现 push 和 pop 命令呢?
还是有另一种更好/推荐的方法来做到这一点?
Jon*_*joy 12
我有一个类似的问题,它解决了这个:
await Navigator.of(context, rootNavigator:true).push( // ensures fullscreen
CupertinoPageRoute(
builder: (BuildContext context) {
return MyWidget();
}
) );
Run Code Online (Sandbox Code Playgroud)
您应该尝试MaterialPageRoute使用fullscreenDialogprop (docs):
Navigator.of(context).push(new MaterialPageRoute<Null>(
builder: (BuildContext context) {
return new AddEntryDialog();
},
fullscreenDialog: true
));
Run Code Online (Sandbox Code Playgroud)
可能不是您的最佳方式,但它会出现在底部栏和任何其他导航小部件上方。
代码取自:https : //marcinszalek.pl/flutter/flutter-fullscreendialog-tutorial-weighttracker-ii/
| 归档时间: |
|
| 查看次数: |
8170 次 |
| 最近记录: |