Dans Flutter, je peux créer une liste déroulante avec DropdownMenuItems, comme ceci:
Les DropdownMenuItems que j'ajoute sont toujours plus larges que la liste déroulante elle-même:
Comment ajustez-vous la largeur de DropdownMenuItem ou supprimez le rembourrage horizontal supplémentaire?
Mon widget DropdownMenuItem ressemble à ceci:
DropdownMenuItem(
value: unit.name,
child: Text('hey'),
);
alors que mon widget Dropdown ressemble à ceci:
return Container(
width: 300.0,
child: DropdownButtonHideUnderline(
child: DropdownButton(
value: name,
items: listOfDropdownMenuItems,
onChanged: onChanged,
style: Theme.of(context).textTheme.title,
),
),
);
Cette fonctionnalité a été ajoutée. Voir https://github.com/flutter/flutter/pull/14849
Vous pouvez maintenant l'envelopper dans un ButtonTheme et définir alignedDropdown
sur 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,
),
),
),
);
J'ai résolu ce problème en remplaçant isExpanded
par true;
return Container(
width: 300.0,
child: DropdownButtonHideUnderline(
child: DropdownButton(
isExpanded: true,
value: name,
items: listOfDropdownMenuItems,
onChanged: onChanged,
style: Theme.of(context).textTheme.title,
),
),
);