Flutter 上的垂直可关闭屏幕实现
Posted
技术标签:
【中文标题】Flutter 上的垂直可关闭屏幕实现【英文标题】:Vertically Dismissable Screen Implementation on Flutter 【发布时间】:2020-12-22 01:30:31 【问题描述】:我想要的只是一个可垂直关闭的小部件。我想要的android等价物是Slidr 我一直在 Flutter 中寻找它的等价物,但我没有找到它。
如果我想这样做的话;
知道如何实现这一目标吗?
【问题讨论】:
【参考方案1】:我认为这可以通过 DraggableScrollableSheet
小部件来完成!
只需将initialChildSize
设置为 0.0 即可开始隐藏。
然后将此工作表小部件和您的电视剧列表视图包装在一个堆栈中,使工作表位于列表上方。
当你点击一个给定的电视剧时,你可以将initialChildSize
更改为1.0,并用setState(()=>);
重建
现在您有一个可拖动的工作表,点击即可显示!为了制作导航动画,您可以使用AnimationController
,或者有一种方法可以在没有堆栈的情况下执行此操作,在这种情况下您可以使用Navigator.pushNamed
。
谢谢,如果您还有其他问题,请告诉我。 欲了解更多信息,请查看:https://api.flutter.dev/flutter/widgets/DraggableScrollableSheet-class.html
【讨论】:
更新initialChildSize
没有任何作用 as you can see here
感谢您给我指导,即使您的确切答案没有解决问题,DraggableScrollableSheet
对我来说是正确的答案 :) 我自己添加了一个答案,对于可能遇到的人以后有这个需求。再次感谢:)【参考方案2】:
根据@Mihir Thanekar 的回答,我用谷歌搜索了一下,终于找到了解决我问题的答案。
this 问题的答案为您提供了如何显示DraggableScrollableSheet
的答案,然后当sheet
的大小为1.0
(即整个屏幕)时,this 包启用dismiss
功能.不幸的是,本机 showModalBottomSheet
方法在这一点上毫无价值,因为没有空白空间可用于向下滑动 sheet
。
【讨论】:
以上是关于Flutter 上的垂直可关闭屏幕实现的主要内容,如果未能解决你的问题,请参考以下文章