一尘不染

设置DropdownButtonFormField列表的高度

flutter

在Flutter中,DropdownButtonFormField模态列表不断增长,以填补似乎占屏幕90%左右的某个高度限制(或者可能,而且更有可能是Container它所在的屏幕)。当达到该限制时,它将变为可滚动。可以设置该高度限制吗?

这是我正在使用的代码

Scaffold(
  appBar: AppBar(title: Text(widget.title)),
  body: Container(
      padding: EdgeInsets.fromLTRB(5, 5, 5, 5),
      child: Form(
        child: ListView(
          scrollDirection: Axis.vertical,
          children: <Widget>[
            //other widgets here
            DropdownButtonFormField(items: this.dropDownItems),
          ],
        ),
      )),
);

阅读 620

收藏
2020-08-13

共1个答案

一尘不染

我正在检查的代码,DropDown没有属性设置的高度Dialog,它几乎填满了整个屏幕。

我对该类进行了一些小的更改,如果需要,您可以将其包含在您的项目中:

https://gist.github.com/tudor07/9f886102f3cb2f69314e159ea10572e1

用法

1-将文件添加到您的项目中。

2-使用别名导入文件,以避免冲突。

 import 'custom_dropdown.dart' as custom;

3-在小部件中使用与DropDown相关的别名,并添加height属性:

    Scaffold(
      appBar: AppBar(title: Text(widget.title)),
      body: Container(
          padding: EdgeInsets.fromLTRB(5, 5, 5, 5),
          child: Form(
            child: ListView(
              scrollDirection: Axis.vertical,
              children: <Widget>[
                //other widgets here
                custom.DropdownButtonFormField(
                height: 200.0,
                items: this.dropDownItems),
              ],
            ),
          )),
    );

4-不要忘了在您的别名中添​​加别名,DropdownMenuItem如下所示:

 custom.DropdownMenuItem(
                child: Text("Sample Tex"),
                value: "any_value",
              ),
2020-08-13