如何更改 Popup MenuButton 项目符号窗口的背景颜色?

于阔源*_*于阔源 4 flutter flutter-layout

我想更改弹出菜单按钮窗口的背景颜色。我该怎么办?我希望我能得到你的帮助。谢谢。当我改变容器的颜色时,有些角落不能改变颜色。

 new IconButton(
            icon: new Icon(
              Icons.search,
              color: Colors.white,
            ),
            onPressed: () {},
          ),
          new PopupMenuButton(
            offset: const Offset(0.0, 60.0),
            icon: new Icon(Icons.add, color: Colors.white),
            itemBuilder: (BuildContext context) => <PopupMenuItem<String>>[
                  new PopupMenuItem<String>(
                      value: '?????',
                      child: new Container(
                          color: Colors.red,
                          child: new Column(
                            children: <Widget>[
                              new Row(
                                children: <Widget>[
                                  new Image.asset(defaultAvatar,
                                      width: 30.0, height: 30.0),
                                  new Text('????')
                                ],
                              ),
                            ],
                          ))),
                  new PopupMenuItem<String>(
                      value: '?????',
                      child: new Container(
                          child: new Column(
                        children: <Widget>[
                          new Row(
                            children: <Widget>[
                              new Image.asset(defaultAvatar,
                                  width: 30.0, height: 30.0),
                              new Text('????')
                            ],
                          ),
                        ],
                      ))),
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

ego*_*kem 8

虽然有点丑,但是嘿:

PopupMenuButton<String>(
   onSelected: (selected) {},
   icon: Icon(Icons.more_vert, color: Colors.white,),
   itemBuilder: (BuildContext context) {
      ...
   },
), 
Run Code Online (Sandbox Code Playgroud)


die*_*per 7

该背景颜色基于Theme,因此您可以更改包裹PopMenuButton内部的颜色Theme并更改cardColor.

          Theme(
                data: Theme.of(context).copyWith(
                  cardColor: Colors.red,
                ),
                child: new PopupMenuButton(
                       ...
Run Code Online (Sandbox Code Playgroud)