更改 ExpansionTile 中尾随图标的颜色

Changing the trailing icon color in ExpansionTile

我需要更改 ExpansionTile 中尾随 keyboard_down_arrow 的颜色。我试过将它包装在主题小部件中并设置重音、主要和图标主题,但似乎没有任何效果。

Theme(
                  data: Theme.of(context).copyWith(
                    dividerColor: Colors.transparent,
                    accentColor: Colors.black,
                  ),
                  child: ExpansionTile(
                    //
                    title: Text("Some Text"
                    ),
                    childrenPadding: EdgeInsets.symmetric(horizontal: 15),
                    children: [
                      
                    ],
                  ),
                ),

要更改尾随图标颜色,您可以在 Expansion Tile 中使用以下参数

 trailing: Icon(
              Icons.keyboard_arrow_down,
              color: Colors.green,
            ),

示例:

 ExpansionTile(
                //
                title: Text("Some Text"),
                trailing: Icon(
                  Icons.keyboard_arrow_down,
                  color: Colors.green,
                ),
              ),

主题颜色使用color: Theme.of(context).primaryColor,

我找到了解决上述问题的方法。

unselectedWidgetColor属性设置为你想要的主题class在flutter中的颜色。

我有两个 open/close 状态的最新解决方案:

Theme(
    data: Theme.of(context).copyWith(
      unselectedWidgetColor: Colors.white, // here for close state
      colorScheme: ColorScheme.light(
          primary: Colors.white,
      ), // here for open state in replacement of deprecated accentColor
      dividerColor: Colors.transparent, // if you want to remove the border
    ),
    child: ExpansionTile(
        ...
    ),
),...