Flutter showModalBottomSheet如何调整高度

Posted DennisJu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter showModalBottomSheet如何调整高度相关的知识,希望对你有一定的参考价值。

解决方案:

1、 升级到新版本的Flutter,当前目前使用版本是1.22.5及以后就可

2、源码解读,官方调整原来写死比例的方案:

@override
BoxConstraints getConstraintsForChild(BoxConstraints constraints) {
  return BoxConstraints(
    minWidth: constraints.maxWidth,
    maxWidth: constraints.maxWidth,
    minHeight: 0.0,
    maxHeight: isScrollControlled //这个字段默认为false,设置成true达到自定义高度的目的
      ? constraints.maxHeight
      : constraints.maxHeight * 9.0 / 16.0,
  );
}

3、实战中只要将isScrollControlled方法设置为true,然后重新设置一下builder里面的布局高度就可解决:

showModalBottomSheet<int>(
      context: context,
      isScrollControlled: true,
      shape: RoundedRectangleBorder(
        borderRadius: BorderRadius.only(
            topLeft: Radius.circular(30), topRight: Radius.circular(30)),
      ),
      builder: (BuildContext context) {
        return Container(
          height: 580,//这里调整高度即可,建议按照屏幕高度比例来计算
          decoration: BoxDecoration(
            borderRadius: BorderRadius.only(
                topLeft: Radius.circular(30), topRight: Radius.circular(30)),
          ),
        );
      },
    );

 

以上是关于Flutter showModalBottomSheet如何调整高度的主要内容,如果未能解决你的问题,请参考以下文章

[Flutter] flutter项目一直卡在 Running Gradle task 'assembleDebug'...

flutter 日志输出,Flutter打印日志,flutter log,flutter 真机日志

Flutter开发 Flutter 包和插件 ( Flutter 包和插件简介 | 创建 Flutter 插件 | 创建 Dart 包 )

flutter与原生混编(iOS)

Flutter-布局

如何解决flutter gradle build error?C:\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 991