User interface 如何使DropdownButtonFormField占据尽可能小的空间?

User interface 如何使DropdownButtonFormField占据尽可能小的空间?,user-interface,dart,flutter,User Interface,Dart,Flutter,颤振下拉按钮将自动缩小到选项中最大标签的大小,如下所示:- 但是一个DropDownButtonFormField改变了这个行为,反而占据了整个可用空间 那么,如何使DropDownButtonFormField模拟DropDownButton的空间占用行为?我在尝试使DropDownButtonFormField在行中容纳尽可能小的空间时遇到了类似的问题。不幸的是,dropdownbutonformfield中使用的InputDecorator小部件不支持可以设置自己宽度的子项(例如Dro

颤振
下拉按钮
将自动缩小到选项中最大标签的大小,如下所示:-

但是一个
DropDownButtonFormField
改变了这个行为,反而占据了整个可用空间


那么,如何使
DropDownButtonFormField
模拟
DropDownButton
的空间占用行为?

我在尝试使
DropDownButtonFormField
行中容纳尽可能小的空间时遇到了类似的问题。不幸的是,
dropdownbutonformfield
中使用的
InputDecorator
小部件不支持可以设置自己宽度的子项(例如
DropDownButton
),并且需要父项对
maxWidth
进行封顶

我设法使用小部件使其工作(警告:根据文档,此小部件相对昂贵,因为它在最终布局阶段之前添加了推测性布局过程):

行(
crossAxisAlignment:crossAxisAlignment.end,
儿童:[
固有宽度(
子项:DropdownButtonFormField(
值:“1”,
项目:[
下拉菜单项(
值:“1”,
子项:文本(“1”),
),
下拉菜单项(
值:“2”,
子项:文本(“2”),
),
],
onChanged:\u onCurrencyChanged,
)),
],
)                                         
IntrinsicWidth
将子项的宽度设置为子项的最大固有宽度,以满足
InputDecorator
需要固定宽度的要求。

似乎包装下拉按钮的InputDecorator小部件是导致此行为的原因。因此,一个简单(可能不太正确)的解决方案是创建自己的DropdownButtonFormField副本(应该删除inputdecorator)