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

时间:2020-10-27 06:51:13

标签: flutter dart colors border styling

当尝试为TextField装饰设置像这样的BorderSide颜色时

  enabledBorder: OutlineInputBorder(
    borderSide: BorderSide(color: Colors.cyan[900], width: 1.0),
  ),

发生以下错误:

enter image description here

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

const borderColor = Color(0xFF006064);

然后我可以这样使用它:

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

这感觉真的很hack。还有其他解决方法吗?

1 个答案:

答案 0 :(得分:0)

您将在运行时获得的MaterialColor。因此,要么删除const

TextField(
  decoration: InputDecoration(
    enabledBorder: OutlineInputBorder(
        borderSide: BorderSide(color: Colors.cyan[900]))),
)

或为应用创建自己的全局样式文件,然后从那里导入。

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

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