Flutterでは、次のようにDropdownMenuItemsを使用してドロップダウンを作成できます。
追加するDropdownMenuItemsは、常にドロップダウン自体よりも幅が広くなっています。
DropdownMenuItemの幅をどのように調整するか、余分な水平パディングを削除するにはどうすればよいですか?
私のDropdownMenuItemウィジェットは次のようになります。
DropdownMenuItem(
value: unit.name,
child: Text('hey'),
);
私のドロップダウンウィジェットは次のようになりますが:
return Container(
width: 300.0,
child: DropdownButtonHideUnderline(
child: DropdownButton(
value: name,
items: listOfDropdownMenuItems,
onChanged: onChanged,
style: Theme.of(context).textTheme.title,
),
),
);
この機能が追加されました。 https://github.com/flutter/flutter/pull/14849 を参照してください
これをButtonThemeでラップし、alignedDropdown
をtrueに設定できます。
return Container(
width: 300.0,
child: DropdownButtonHideUnderline(
child: ButtonTheme(
alignedDropdown: true,
child: DropdownButton(
value: name,
items: listOfDropdownMenuItems,
onChanged: onChanged,
style: Theme.of(context).textTheme.title,
),
),
),
);
isExpanded
をtrueに変更してこの問題を解決しました。
return Container(
width: 300.0,
child: DropdownButtonHideUnderline(
child: DropdownButton(
isExpanded: true,
value: name,
items: listOfDropdownMenuItems,
onChanged: onChanged,
style: Theme.of(context).textTheme.title,
),
),
);