flutter 如何使showModalBottomSheet在抖动时响应?

pkln4tw6  于 2023-01-14  发布在  Flutter
关注(0)|答案(1)|浏览(182)

我尝试在showModalBottomSheet中显示webView,使用用于webView的inAppWebView插件。因此,当webView状态改变时,bottomSheet应调整其高度。目前,我只是通过滚动bottomSheet进行了热修复。

return  return showModalBottomSheet(
      enableDrag: false,
      isDismissible: false,
      isScrollControlled: true,
      shape: RoundedRectangleBorder(
        borderRadius: BorderRadius.only(
          topRight: Radius.circular(20.r),
          topLeft: Radius.circular(20.r),
        ),
      ),
      context: context,
      builder: (context) => BottomSheet(),
    );
Widget build(BuildContext context) {
return Container(
      alignment: Alignment.center,
      height: MediaQuery.of(context).size.height - (kToolbarHeight * 2),
      decoration: BoxDecoration(
        color: lmWhite,
        borderRadius: BorderRadius.circular(20.r),
      ),
      clipBehavior: Clip.hardEdge,
      child: Stack(
        children: [
          InAppWebView(),
          Opacity(),
          ],
        ),
      );
   }
atmip9wb

atmip9wb1#

bottomSheet的默认高度为screenSize的一半
如果你想让你的bottomSheet根据你的内容展开,使用下面的代码

showModalBottomSheet<dynamic>(
isScrollControlled: true,
context: context,
builder: (BuildContext bc) {
  return Wrap(
      children: <Widget>[...]
  )
 }
)

这将根据其中的内容自动展开bottomSheet。

相关问题