Flutter 设置边框颜色使常量变量必须用常量值初始化

Flutter 设置边框颜色使常量变量必须用常量值初始化,flutter,dart,colors,border,styling,Flutter,Dart,Colors,Border,Styling,当尝试为TextField装饰设置这样的边框颜色时 enabledBorder: OutlineInputBorder( borderSide: BorderSide(color: Colors.cyan[900], width: 1.0), ), 出现以下错误: 要使用此颜色作为边框,我从Colors类复制了颜色值,并在“函数”之外添加了以下代码 然后我可以这样使用它: borderSide: BorderSide(color: borderColor, width: 1

当尝试为TextField装饰设置这样的边框颜色时

  enabledBorder: OutlineInputBorder(
    borderSide: BorderSide(color: Colors.cyan[900], width: 1.0),
  ),
出现以下错误:

要使用此颜色作为边框,我从Colors类复制了颜色值,并在“函数”之外添加了以下代码

然后我可以这样使用它:

 borderSide: BorderSide(color: borderColor, width: 1.0),

这感觉真烦人。有没有其他方法可以解决这个问题?

运行时将获得的MaterialColor。所以要么去掉常数

TextField(
  decoration: InputDecoration(
    enabledBorder: OutlineInputBorder(
        borderSide: BorderSide(color: Colors.cyan[900]))),
)
或者为应用程序创建自己的全局样式文件并从中导入

const textFieldBorderColor = Color(0xffd6d6d6);
const buttonColor = Color(0xffd5d5d5);

您还可以创建自己的调色板

运行时将获得的材质颜色。所以要么去掉常数

TextField(
  decoration: InputDecoration(
    enabledBorder: OutlineInputBorder(
        borderSide: BorderSide(color: Colors.cyan[900]))),
)
或者为应用程序创建自己的全局样式文件并从中导入

const textFieldBorderColor = Color(0xffd6d6d6);
const buttonColor = Color(0xffd5d5d5);

您还可以创建自己的调色板

Ok,因此这里的第一个解决方案就是给出错误的解决方案。第二个解决方案是有效的,我现在正在使用,如示例中所述。但是如果我没有办法解决这个问题,那么这里的第一个解决方案就是给出错误的那个。第二个解决方案是有效的,我现在正在使用,如示例中所述。但是如果我没有办法解决这个问题,那么创建一个常量类,然后从@ØrjanSo导入变量怎么样?我想没有办法避免这个“问题”。那么这可能是一个更漂亮的解决方案是的。谢谢你的帮助,我想是的,这比在每个屏幕上初始化颜色要好,这样会更干净@Ørjan创建一个常量类然后从@Ørjan导入变量怎么样?我想没有办法避免这个“问题”。那么这可能是一个更漂亮的解决方案是的。谢谢你的帮助,我想是的,这比在每个屏幕上初始化颜色要好,这样会更干净@Ørjan