Flutter 如何在flatter/GetX中动态创建主题框装饰
我正在使用GetX和Flatter,并通过标准主题数据动态更改应用程序主题。所有这些都适用于主题数据中的属性 然而,我刚刚实现了抽屉小部件,并希望在DroperHeader(BoxEdition类型)中也对“装饰”属性进行主题化。我想根据所选主题在BoxEdition中设置颜色主题,但它似乎只接受常量。我还没有找到任何方法根据主题动态更改它Flutter 如何在flatter/GetX中动态创建主题框装饰,flutter,themes,getx,flutter-getx,flutter-theme,Flutter,Themes,Getx,Flutter Getx,Flutter Theme,我正在使用GetX和Flatter,并通过标准主题数据动态更改应用程序主题。所有这些都适用于主题数据中的属性 然而,我刚刚实现了抽屉小部件,并希望在DroperHeader(BoxEdition类型)中也对“装饰”属性进行主题化。我想根据所选主题在BoxEdition中设置颜色主题,但它似乎只接受常量。我还没有找到任何方法根据主题动态更改它 return Drawer( child: ListView( padding: EdgeInsets.zero,
return Drawer(
child: ListView(
padding: EdgeInsets.zero,
children: const <Widget>[
DrawerHeader(
decoration:
BoxDecoration(color: Get.isDarkMode ? Colors.red : Colors.blue),
返回抽屉(
子:ListView(
填充:EdgeInsets.zero,
儿童:康斯特[
抽屉阅读器(
装饰:
盒子装饰(颜色:Get.isDarkMode?Colors.red:Colors.blue),
我得到以下错误:
常量列表文字中的值必须是常量。请尝试从列表文字中删除关键字“const”
它涉及以下部分:
color:Get.isDarkMode?Colors.red:Colors.blue
有什么建议吗
谢谢。菲利佩-你说得对。我花了数小时阅读和测试,但由于某种原因,我完全错过了显而易见的事情-总是只关注装饰/盒子装饰本身,而不是树上。非常感谢你的快速回答。它现在可以工作了 问题在于以下行:
children:const[
移除常量后,它会工作-解决方案:
子项:[
基于Get.color渲染两个不同的抽屉头,而不是使用可变颜色渲染一个抽屉头。如果从小部件列表中删除const关键字,会发生什么?