如何解决在 ExpansionPanelList.radio 中更改 ListTile 后面的图标颜色
在 ExpansionPanelList 的 ListTile 中,试验已经给出了向下箭头,当 ListTile 展开时,箭头变为向上箭头。
但是,它的颜色很深。我添加了尾随:图标(等等)。这只是在标题和默认尾随按钮之间添加了一个图标(向下箭头)。
如何更改默认尾随按钮的颜色,同时保持其在框展开时变成向上箭头的多功能性?
我尝试将 ListTile 包装在一个主题中,这是有人推荐的,但向下箭头的颜色没有改变,如下所示:
Widget _buildPanel() {
return ExpansionPanelList.radio(
initialOpenPanelValue: 0,children: _data.map<ExpansionPanelRadio>((Item item) {
return ExpansionPanelRadio(
backgroundColor: Colors.black,canTapOnHeader: true,value: item.id,headerBuilder: (BuildContext context,bool isExpanded) {
return Theme(
data: Theme.of(context)
.copyWith(unselectedWidgetColor: Colors.white),child: ListTile(
title: Text(item.headerValue,...
更新错误:
解决方法
如果您使用的是 ExpansionPanelList
,则只能通过主题亮度更改其 ExpandIcon
(带有箭头的小部件)的颜色,这里是 {{ 中的代码摘录1}}:
ExpandIcon
这个小部件还具有更改其展开和禁用颜色的属性,但不幸的是, switch(Theme.of(context).brightness) {
case Brightness.light:
return Colors.black54;
case Brightness.dark:
return Colors.white60;
}
不会将这些自定义属性传递给 ExpansionPanelList
,因此您将转到我在上面粘贴的回退开关。
一种解决方案是从框架中提取 ExpandIcon
并将属性 ExpansionPanelList
添加到其构造函数。我将类 color,disabledColor,expandedColor,
重命名为 ExpansionPanelList
并添加了以前的颜色属性以将它们传递给它的子 ColoredExpansionPanelList
。
ExpandIcon
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。