【问题标题】:How to change PopupMenuItem width in Flutter?如何更改 Flutter 中的 PopupMenuItem 宽度?
【发布时间】:2020-04-08 09:01:19
【问题描述】:

我的代码是这样的

我想让项目宽度匹配父项 但我无法更改 PopupMenuItem 宽度。

我尝试了文本换行 Continer 并准确设置了宽度,但它不起作用。

我该怎么办?

【问题讨论】:

  • 向我们展示更多代码,例如您要匹配的父级
  • 你找到答案了吗?如果是,请分享。

标签: flutter dart


【解决方案1】:

弹出菜单内的容器

        new PopupMenuButton<Choice>(
            onSelected: _select,
            itemBuilder: (BuildContext context) {
              return choices.map((Choice choice) {
                return PopupMenuItem<Choice>(
                  value: choice,
                  child: new Container(
                    width: 100.0,
                    child: Text(choice.title)
                  ),
                );
              }).toList();
            },
          ),

完整示例的其他代码

  void _select(Choice choice) {
      print(choice);
  }

class Choice {
  const Choice({this.title, this.icon});

  final String title;
  final IconData icon;
}

const List<Choice> choices = const <Choice>[
  const Choice(title: 'Car', icon: Icons.directions_car),
  const Choice(title: 'Bicycle', icon: Icons.directions_bike),
  const Choice(title: 'Boat', icon: Icons.directions_boat),
  const Choice(title: 'Bus', icon: Icons.directions_bus),
  const Choice(title: 'Train', icon: Icons.directions_railway),
  const Choice(title: 'Walk', icon: Icons.directions_walk),
];

【讨论】:

  • 如何将全宽设置为 PopupMenuItem?我尝试使用 MediaQuery.of(context).size.width 给出全宽,但它不起作用。
  • 这个方法对我不起作用。我最终使用了 Expanded
  • 扩展对我也不起作用...
猜你喜欢
  • 1970-01-01
  • 2019-05-23
  • 2021-11-02
  • 2021-07-02
  • 1970-01-01
  • 2020-07-30
  • 2021-06-12
  • 1970-01-01
  • 2011-03-04
相关资源
最近更新 更多