在Flutter中,DropdownButtonFormField模态列表不断增长,以填补似乎占屏幕90%左右的某个高度限制(或者可能,而且更有可能是Container它所在的屏幕)。当达到该限制时,它将变为可滚动。可以设置该高度限制吗?
DropdownButtonFormField
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), ], ), )), );
我正在检查的代码,DropDown没有属性设置的高度Dialog,它几乎填满了整个屏幕。
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如下所示:
DropdownMenuItem
custom.DropdownMenuItem( child: Text("Sample Tex"), value: "any_value", ),