如何更改菜单项的颜色?

时间:2018-11-01 13:23:46

标签: dart flutter

如何在Flutter中更改PopupMenuItem的颜色?我在PopupMenuItem

中找不到执行此操作的任何属性

enter image description here

3 个答案:

答案 0 :(得分:0)

我必须更改主题cardColor

ThemeData(
  cardColor: Colors.grey,
)

答案 1 :(得分:0)

您可以通过扩展PopupMenuItem然后覆盖buildChild()方法来创建自己的自定义项目。

通过这种方法,您可以随心所欲地建立自己的孩子。

class MyPopupMenuItem<T> extends PopupMenuItem<T> {
  const MyPopupMenuItem({
    Key key,
    T value,
    Widget child,
  }) : super(key: key, value: value, child: child);

  @override
  Widget get child => super.child;

  @override
  _MyPopupMenuItemState<T> createState() => _MyPopupMenuItemState<T>();
}

class _MyPopupMenuItemState<T>
    extends PopupMenuItemState<T, MyPopupMenuItem<T>> {
  @override
  Widget buildChild() {
    return Container(
      color: Colors.grey,
      child: widget.child,
    );
  }
}

答案 2 :(得分:0)

为简单起见,您可以做什么-

MatrialApp(
theme: ThemeData(
cardColor: Colors.blue, # set your color
);