关闭外部水龙头上的底板

问题描述 投票:0回答:1

我有屏幕,我可以在其中打开底部模态表。我调用以下函数:

Scaffold.of(context).showBottomSheet();

我需要使用这种方法,我不能使用任何其他方法来显示模态表。我想要实现的是,当我在工作表外部单击时,工作表将关闭。目前,如果工作表后面的屏幕上有

Button
,我可以单击该按钮。我怎样才能实现这个目标?我试图在
isDismissible
函数中找到类似
showBottomSheet
的设置,但是我没有找到类似的东西。我还尝试用
GestureDetector
包裹模态表的内容,但这也不起作用。非常感谢您的帮助。

编辑:如果不可能,请告知如何实现“锁定”模式后面的布局,使其根本不可点击。

flutter bottom-sheet scaffold
1个回答
0
投票

将底部工作表内容包裹在

TapRegion
中,然后在
TapRegion.onTapOutside
中弹出上下文:

Scaffold.of(context).showBottomSheet(
  (context) => TapRegion(
    onTapOutside: (_) => Navigator.of(context).pop(),
    child: Container(), // Your content
  ),
);

如果您需要将点击事件传播到底部工作表后面的按钮,请查看

TapRegion.consumeOutsideTaps

© www.soinside.com 2019 - 2024. All rights reserved.