我创建了可用于设置iconColor的方法:
ListTileTheme createListTile({BuildContext context, Widget child}) {
return ListTileTheme(
iconColor: Theme.of(context).primaryColor,
child: child,
);
}
然后我尝试通过扩展ListTileTheme类来创建相同的东西:
class ThemedListTile extends ListTileTheme {
ThemedListTile({@required BuildContext context, @required Widget child})
: super(iconColor: Theme.of(context).primaryColor, child: child);
}
第一种方法有效,但是第二种方法无效,该颜色使用默认的基础灰色,而不是我告诉它使用的任何颜色。
即使我对 super(iconColor:Colors.red,child:child)进行硬编码,颜色也不会改变...子对象起作用,颜色也不会改变。
>有人能启发我为什么这不起作用吗?
再次编辑-一个简单的例子证明以下内容似乎不是问题
我在(https://dart.dev/guides/language/language-tour)上找到了这个:
警告::超类构造函数的参数无权访问。例如,参数可以调用静态方法,而不能调用实例方法。
任何人都可以确认这是否是我遇到的问题吗?