如何在flutter中使用PopupMenu Item设置分隔线和分隔线颜色?

Abd*_*lah 4 flutter

在这个简单的实现代码中,我将一些PopupMenuButton项目添加到AppBar actions 参数中,现在我想要设置具有默认颜色的PopupMenuDivider颜色样式。

小智 20

您可以使用 Theme 类非常轻松地完成此操作,您可以使用该类更改图标颜色、文本颜色和 PopupMenuDivider 颜色。

同样,您可以使用 PopupMenuDivider 在 PopupMenuItem 的 Divider 上轻松执行此操作。

appBar: AppBar(
    title: Text("PopUpMenu Flutter"),
    centerTitle: true,
    actions: [
      Theme(
        data: Theme.of(context).copyWith(
          dividerTheme: DividerThemeData(
            color: Colors.black,
          ),
          iconTheme: IconThemeData(color: Colors.white),
          textTheme: TextTheme().apply(bodyColor: Colors.white),
        ),
        child: PopupMenuButton<int>(
          color: Colors.indigo,
          //onSelected: (item) => onSelected(context, item),
          itemBuilder: (context) => [
            PopupMenuItem<int>(
              value: 0,
              child: Text('Settings'),
            ),
            PopupMenuDivider(),
            PopupMenuItem<int>(
              value: 1,
              child: Text('Share'),
            ),
            PopupMenuDivider(),
            PopupMenuItem<int>(
              value: 2,
              child: Row(
                children: [
                  Icon(Icons.logout),
                  const SizedBox(width: 8),
                  Text('Sign Out'),
                ],
              ),
            ),
          ],
        ),
      ),
    ],
  ),
Run Code Online (Sandbox Code Playgroud)