如何限制下拉项列表并使其可滚动

  • 本文关键字:滚动 列表 何限制 flutter
  • 更新时间 :
  • 英文 :


我是flutter的新手,目前我正在尝试创建一个可重复使用的下拉按钮。现在的问题是,我想在下拉项目列表中有15个项目,这占用了我所有的屏幕空间。我想限制它们,所以一开始它只显示5-6个项目,用户可以向下滚动下拉列表并显示项目列表的其余部分。

我怎样才能做到这一点?

这是我当前可重用下拉按钮的代码:

Widget build(BuildContext context) {
return Container(
decoration: widget.boxDecor,
padding: widget.padding,
margin: widget.margin,
width: widget.width,
height: widget.height,
child: Center(
child: DropdownButton<String>(
value: widget.initialValue ?? dropdownValue,
icon: widget.iconDropdown,
isExpanded: true,
elevation: 16,
style: primaryColor400Style.copyWith(
fontSize: fontSize10,
),
underline: Container(
height: 2,
decoration: BoxDecoration(
color: Colors.transparent,
),
),
onChanged: (String? newValue) {
if (newValue != 'Personal') {
Provider.of<SelectedTeamProvider>(context, listen: false)
.setSelectedTeamNameForTicket(newValue!);
} else {
Provider.of<SelectedTeamProvider>(context, listen: false)
.setSelectedTeamNameForTicket('');
}
if (widget.onChanged != null) {
widget.onChanged!(newValue!);
}
setState(() {
dropdownValue = newValue!;
});
},
items: itemLists.map<DropdownMenuItem<String>>((String value) {
return DropdownMenuItem<String>(
value: value,
child: Text(value.tr()),
);
}).toList(),
),
),
);
}

您可以使用menuMaxHeight来控制菜单的大小。

child: DropdownButton<int>(
menuMaxHeight: 300,  // <-- Adjust this value to get the right number of items
...
),

最新更新