如何在flutter的PopupMenuItem中设置Divider?
How to set Divider in PopupMenuItem of flutter?
我想在 PopupMenuItem 之间设置分隔线,我想更改具有默认颜色的样式 PopupMenuDivider 颜色。我该怎么做?
您可以使用主题 class 轻松完成此操作,您可以使用该主题更改图标颜色、文本颜色和默认 PopupMenuDivider 颜色。
同样,您可以使用 PopupMenuDivider 在 PopupMenuItem 的 Divider 上轻松执行此操作。
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'),
],
),
),
],
),
),
],
我想在 PopupMenuItem 之间设置分隔线,我想更改具有默认颜色的样式 PopupMenuDivider 颜色。我该怎么做?
您可以使用主题 class 轻松完成此操作,您可以使用该主题更改图标颜色、文本颜色和默认 PopupMenuDivider 颜色。
同样,您可以使用 PopupMenuDivider 在 PopupMenuItem 的 Divider 上轻松执行此操作。
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'),
],
),
),
],
),
),
],