最近在做一个电商项目,其中规格视图 Flutter 的底部弹窗,但是发现 showBottomSheet 在弹出的时候最高高度始终限制在了屏幕的二分之一的位置,再往高设置仍然还是一半高度,但是我们的弹窗设计稿是占据屏幕三分之二的位置的,显然 Flutter 的这个限制是无法满足需求的。
有问题的截图如下:
怎么去解决这个问题???
当时百度 Google了两个小时,发现了 Flutter 的 issue,说了很多办法,但是都是没有实际性解决问题的,既然找不到现成的办法,看源码吧,然后我就直接打开了showBottomSheet 这个方法进行查看,因为时间紧,全局搜了 height 的关键字,发现了一个重要的一点:
Flutter 在这里强制将最大高度设置为 constraints.maxHeight 的 9/16,看来问题症结找到了,本着快速验证的原则,直接修改 Flutter 源码去掉后面的这些,run 了一下,果然好了,修改之后的截图如下: