Flutter DropdownMenu的isCollapsed属性无法减少垂直间距求助
我想移除当前DropdownMenu中的垂直间距(见下图:
),但使用以下代码无法实现:
DropdownMenu<String>( inputDecorationTheme: const InputDecorationTheme( contentPadding: EdgeInsets.fromLTRB(5, 0, 5, 0), isCollapsed: true ), ...
我找不到其他解决办法,求帮助。
以下是我的Flutter版本详情:
Flutter 3.16.0 • channel stable • https://github.com/flutter/flutter.git Framework • revision db7ef5bf9f (3 days ago) • 2023-11-15 11:25:44 -0800 Engine • revision 74d16627b9 Tools • Dart 3.2.0 • DevTools 2.28.2
可行解决方案
在Flutter 3.16版本中,DropdownMenu的垂直间距并非只由InputDecorationTheme控制,试试这几个办法:
直接设置DropdownMenu的padding:给组件本身添加垂直方向的内边距调整
DropdownMenu<String>( padding: const EdgeInsets.symmetric(vertical: 0), // 缩小垂直内边距 inputDecorationTheme: const InputDecorationTheme( contentPadding: EdgeInsets.fromLTRB(5, 0, 5, 0), isCollapsed: true, ), // 其他配置项... )自定义MenuStyle调整下拉菜单样式:通过
menuStyle修改下拉面板的内边距和最小高度DropdownMenu<String>( menuStyle: MenuStyle( padding: MaterialStateProperty.all(const EdgeInsets.symmetric(vertical: 2)), minimumSize: MaterialStateProperty.all(const Size.fromHeight(30)), // 控制菜单高度 ), inputDecorationTheme: const InputDecorationTheme( contentPadding: EdgeInsets.fromLTRB(5, 0, 5, 0), isCollapsed: true, ), // 其他配置项... )排查父组件布局:如果父容器设置了额外的padding或margin,也会让DropdownMenu看起来有多余间距,检查上层组件的布局属性。
内容的提问来源于stack exchange,提问作者Alberto
相关产品推荐
相关产品推荐

