PopupMenuButton如何去除灰色高亮文本层

问题描述 投票:0回答:1

有带有子菜单的 PopupMenuButton。完整代码:

PopupMenuButton<int>(
              icon: Icon(Icons.more_horiz),
              tooltip: 'Меню задачи',
              onSelected: (value) {
                changeTaskStatus(value, context, data, ref);
              },
              itemBuilder: (BuildContext context) => <PopupMenuEntry<int>>[
                PopupMenuItem(
                  child: PopupMenuButton(
                    tooltip: "Изменить статус",
                    onSelected: (value) {
                      changeTaskStatus(value, context, data, ref);
                    },
                    child: const Row(
                      children: [
                        Text(
                          'Изменить статус',
                          style: TextStyle(height: 3),
                        ),
                        Spacer(),
                        Icon(Icons.arrow_right)
                      ],
                    ),
                    itemBuilder: (BuildContext context) =>
                        <PopupMenuEntry<int>>[
                      const PopupMenuItem<int>(
                        value: 0,
                        child: Text('В работе'),
                      ),
                      const PopupMenuItem<int>(
                        value: 1,
                        child: Text('Выполнена'),
                      ),
                      const PopupMenuItem<int>(
                        value: 2,
                        child: Text('Отменена'),
                      ),
                    ],
                  ),
                ),
                const PopupMenuDivider(),
                const PopupMenuItem<int>(
                  value: 4,
                  child: Text('Редактировать задачу'),
                ),
                const PopupMenuItem<int>(
                  value: 3,
                  child: Text('Удалить'),
                ),
              ],
            ),

最后,我在悬停文本层上突出显示了额外的灰色:

pic 1

pic 2

如何删除 PopupMenuButton 子级内的文本小部件上的额外突出显示?

flutter popupmenu
1个回答
0
投票

您可以覆盖

highlightColor
hoverColor

Theme(
  data: Theme.of(context).copyWith(
    splashColor: Colors.transparent,//if you want remove splash color
    highlightColor: Colors.transparent,
    hoverColor: Colors.transparent,
  ),
  child: PopupMenuButton<int>(
© www.soinside.com 2019 - 2024. All rights reserved.