有没有办法在设备方向改变时关闭模态底部 sheet?

Is there a way to close a modal bottom sheet in flutter on device orientation change?

我已经试过了:

  @override
  void didChangeDependencies() {
    super.didChangeDependencies();
    Orientation orientation = MediaQuery.of(context).orientation;
    (orientation == Orientation.portrait)
        ? print(orientation)
        : Navigator.pop(context);
  }

在 _BottomContentState 中,但是当我切换设备方向时出现错误。

此外,我希望 ModalBottomSheet 在打开时关闭,否则不执行任何操作

您可以使用 OrientationBuilder 小部件以编程方式关闭模态底部 sheet。

OrientationBuilder(
   builder: (context, orientation) {
      if (orientation == Orientation.landscape) {
         // Close your modal
      }
   }
);