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如何调整高度的主要内容,如果未能解决你的问题,请参考以下文章