Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何在flatter/GetX中动态创建主题框装饰_Flutter_Themes_Getx_Flutter Getx_Flutter Theme - Fatal编程技术网

Flutter 如何在flatter/GetX中动态创建主题框装饰

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,

我正在使用GetX和Flatter,并通过标准主题数据动态更改应用程序主题。所有这些都适用于主题数据中的属性

然而,我刚刚实现了抽屉小部件,并希望在DroperHeader(BoxEdition类型)中也对“装饰”属性进行主题化。我想根据所选主题在BoxEdition中设置颜色主题,但它似乎只接受常量。我还没有找到任何方法根据主题动态更改它

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关键字,会发生什么?