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)