在 ExpansionPanelList.radio 中更改 ListTile 后面的图标颜色

如何解决在 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,...

更新错误

Error

Error continued

解决方法

如果您使用的是 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

Original ExpansionPanelList code

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?