Flutter PopupMenu изменить цвет значка - PullRequest
0 голосов
/ 19 марта 2019

как изменить цвет значка в PopupMenuButton, я использовал тему с iconTheme, но это не влияет на значок в CheckedPopupMenuItem и PopupMenuItem.

Scaffold(
      backgroundColor: Colors.transparent,
      appBar: AppBar(
        elevation: 0.0,
        backgroundColor: Colors.transparent,
        actions: <Widget>[
          Theme(
            data: Theme.of(context).copyWith(
              cardColor: Colors.indigo,
              iconTheme: IconThemeData(color: Colors.white),
            ),
            child: ListTileTheme(
              iconColor: Colors.white,
              child: PopupMenuButton<String>(
                onSelected: _showCheckedMenuSelections,
                itemBuilder: (BuildContext context) => <PopupMenuEntry<String>>[
                  CheckedPopupMenuItem<String>(
                    value: _checkedValue1,
                    checked: _showRoles,
                    child: Text(_checkedValue1, style: Theme.of(context).textTheme.body1),
                  ),
                  const PopupMenuDivider(),
                  PopupMenuItem<String>(
                    value: 'Get Link',
                    child: ListTile(
                      leading: Icon(Icons.phonelink),
                      title: Text('Get link', style: Theme.of(context).textTheme.body1),
                    ),
                  ),
                ],
              ),
            ),
          ),
        ],
      ),

Результат выглядит следующим образом: enter image description here

1 Ответ

0 голосов
/ 19 марта 2019

Вы можете обернуть виджет Icon внутри IconButton, который предоставляет свойство color для изменения цвета значка.Пример кода ниже:

value: 'Get Link',
    child: ListTile(
    leading: IconButton(
      icon: Icon(Icons.phonelink,
      color: Colors.blue,),
      onPressed: () {},
    ),
    title: Text('Get link', style: Theme.of(context).textTheme.body1),
    ),

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...