首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >颤振模态底片全高

颤振模态底片全高
EN

Stack Overflow用户
提问于 2020-09-24 23:27:26
回答 2查看 490关注 0票数 0

我在和ModalBottomSheet试试看。如何才能使模型表的设备屏幕高度达到90%。我做了mediaquery,但它仍然不能给我超过一半的屏幕尺寸。我该如何解决这个问题?

代码如下:

代码语言:javascript
复制
class _TestFileState extends State<TestFile> {
  modalSheet() {
    showModalBottomSheet(
        context: context,
        backgroundColor: Colors.white,
        shape: RoundedRectangleBorder(
          borderRadius: BorderRadius.only(
              topLeft: Radius.circular(15.0), topRight: Radius.circular(15.0)),
        ),
        builder: (context) {
          return Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            mainAxisSize: MainAxisSize.max,
            children: <Widget>[
              ListTile(
                leading: Icon(Icons.email),
                title: Text('Send email'),
                onTap: () {
                  print('Send email');
                },
              ),
              ListTile(
                leading: Icon(Icons.phone),
                title: Text('Call phone'),
                onTap: () {
                  print('Call phone');
                },
              ),
            ],
          );
        });
  }

  @override
  Widget build(BuildContext context) {
    return SafeArea(
      child: Scaffold(
        appBar: AppBar(
          title: Center(child: Text('Testing Modal Sheet')),
        ),
        body: Center(
          child: InkWell(
            onTap: () {
              modalSheet();
            },
            child: Container(
                color: Colors.indigo,
                height: 40,
                width: 100,
                child: Center(
                  child: Text(
                    'Click Me',
                    style: TextStyle(color: Colors.white),
                  ),
                )),
          ),
        ),
      ),
    );
  }
}

下面是输出:

EN

回答 2

Stack Overflow用户

发布于 2020-09-24 23:40:34

您必须传递isScrollControlled: true并使用mediaquery,如下所示

代码语言:javascript
复制
showModalBottomSheet(
            isScrollControlled: true,
            context: context,
            builder: (context) {
              return Container(
                height: MediaQuery.of(context).size.height * 0.5,
                color: Colors.red,
                //height: MediaQuery.of(context).size.height,
              );
            });
票数 3
EN

Stack Overflow用户

发布于 2020-09-24 23:35:57

据我所知,这是对Flutter模式底层表单的本机实现的限制。

您可以使用modal_bottom_sheet包来实现这一点。

安装:

代码语言:javascript
复制
dependencies:
  modal_bottom_sheet: ^0.2.2

最小的例子:

代码语言:javascript
复制
showMaterialModalBottomSheet(
  context: context,
  expand: true, //this param expands full screen
  builder: (context, scrollController) => Container(),
)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64049624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档