小编stu*_*lov的帖子

如何使用 Navigator 2.0 以声明方式推送 BottomSheet?

我是 Flutter 中的 Navigator 2.0 新手,现在我尝试使用声明性方法实现 BottomSheet 行为。不幸的是,我只能想出一个相当麻烦的方法来做到这一点,所以我想知道是否有更简单的方法。

我正在构建一个购物应用程序,当用户点击列表中的项目时,我想显示从屏幕底部滑出的项目详细信息卡,使上一页变暗(如图所示)。我还想允许 url 支持,以便/item/id打开主页,然后在其上显示详细信息卡。

我想要实现的目标

因此,我认为如何做到这一点是使用 和 推送(或在pagesNavigator 2.0 的情况下添加到 Navigator 的数组)自定义非不透明页面,没有过渡动画,然后使用动画控制器手动设置变暗和滑动动画。但这种方法似乎不自然(说实话,真的让我害怕),而且我仍然不清楚在这种情况下如何处理后退按钮(我是否需要以某种方式通知页面从 Navigator 播放关闭动画,这是方法吗?做这个?)。TransitionDelegatePageRouteBuilderonPopPage

如果有人有实现类似功能的经验,我将非常感谢分享!或者也许您想出了更优雅的解决方案,然后告诉我,我会尝试一下!谢谢!

flutter-layout flutter-animation flutter-navigation

7
推荐指数
0
解决办法
328
查看次数