颤振 - 如何对齐DropdownButton中的所选项目?

问题描述 投票:1回答:2

我无法将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,
                ),
              ),
            ),
          ],
        ),
      ),
drop-down-menu flutter alignment
2个回答
0
投票

如果你不介意设置一个固定的宽度,你可以将你的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(),
  // ...
),

-1
投票

这是预期的行为,菜单项的默认对齐方式是centerLeft,根据以下链接:https://github.com/flutter/flutter/issues/3759

您可以在flutter Github页面上为此功能引发新问题。

© www.soinside.com 2019 - 2024. All rights reserved.