我有一个显示字符串列表的下拉列表。字符串的值包含仅由四个字母组成的单词和由许多字母组成的单词。当选定的项目是四个字母的项目时,这会产生布局问题。在文本和下拉按钮的尾随图标之间可以看到空白或白色。如何才能将这一空白空间移除?如何根据所选值调整下拉按钮的大小?
文本和尾随图标之间的空白照片:
列表:
List<String> textList = ["test", "this_is_a_long_text"];
下拉列表:
DropdownButtonHideUnderline(
child: ButtonTheme(
alignedDropdown: true,
child: DropdownButton<String>(
items: textList.map((String dropDownStringItem) {
return DropdownMenuItem<String>(
value: dropDownStringItem,
child: Text(dropDownStringItem),
);
}).toList(),
onChanged: (String newValueSelected) {
_onDropDownItemSelected(newValueSelected);
},
value: _currentItemSelected,
),
)),
6条答案
按热度按时间0mkxixxg1#
作为一个选项,您可以基于
PopupMenuButton
而不是常规DropdownButton
构建它下面是一个例子
wfauudbj2#
另一个解决方法是使它成为一个可点击的文本,将显示下拉选项作为一个对话框。下面是一个例子:
Preview Gif
sg3maiej3#
结账DropdownButton2
有一个customButton属性。一个我如何使用它的例子。
选项框将展开以适应行的大小。
编辑:在张贴这一点,我意识到,它仍然受到限制,不能有一个更小的盒子相比,里面的项目
4smxwvx54#
你不能。如果你看代码
克隆这个小部件,如果必要的话,可以根据您的需求进行更改(不推荐,因为当下划线代码更改时,您必须维护它)。
2w3kk1z55#
使用
flexfit.loose
,下拉按钮的剩余空间(来自此小部件内部的堆栈)将被削减cedebl8k6#
使用DropdownButton中的属性
alignment
,您可以放置文本centerRight
并制作所需的效果。Flutter 2.12测试