我无法将DropdownButton中的所选项目与中心对齐。
我在DropdownMenuItem下尝试了child:Center(),它能够对齐这些项目但是在我选择了其中一个项目后,所选项目立即与左对齐。我还想将所选项目与中心对齐。
谁知道如何实现它?
提前致谢。
Unable to align selected item to Center
_dropdownValues:
final List<String> _dropdownValues = [
"One",
"Two12345",
"Three123456789",
"Four",
];
String _selectedValue;
在Widget Build下:
body: Center(
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Container(
child: Text('Name:',),
),
Container(
child: Center(
child: DropdownButton(
hint: Text('Select ...'),
items: _dropdownValues.map((value) => DropdownMenuItem(
child: Center( child: Text(value), ),
value: value,
)).toList(),
onChanged: (String value) {
setState(() {
this._selectedValue = value;
});
},
isExpanded: false,
value: _selectedValue,
),
),
),
],
),
),
如果你不介意设置一个固定的宽度,你可以将你的DropdownMenuItem
Text
孩子包裹在SizedBox
中。然后你将textAlign
属性设置为TextAlign.center
,如下所示:
DropdownButton(
// ...
items: _dropdownValues.map((value) => DropdownMenuItem(
child: SizedBox(
width: 100.0, // for example
child: Text(value, textAlign: TextAlign.center),
),
value: value,
)).toList(),
// ...
),
这是预期的行为,菜单项的默认对齐方式是centerLeft,根据以下链接:https://github.com/flutter/flutter/issues/3759
您可以在flutter Github页面上为此功能引发新问题。