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

  enabledBorder: OutlineInputBorder(
    borderSide: BorderSide(color: Colors.cyan[900], width: 1.0),
  ),
发生以下错误:
flutter - 设置边框颜色使const变量必须使用常量值初始化-LMLPHP
要将这种颜色用作边框,我从Colors类复制了颜色值,并在“function”之外添加了以下代码。
const borderColor = Color(0xFF006064);
然后我可以像这样使用它:
 borderSide: BorderSide(color: borderColor, width: 1.0),
这感觉真的很hack。还有其他解决方法吗?

最佳答案

您将在运行时获得的MaterialColor。所以要么删除const

TextField(
  decoration: InputDecoration(
    enabledBorder: OutlineInputBorder(
        borderSide: BorderSide(color: Colors.cyan[900]))),
)
或为应用创建自己的全局样式文件,然后从那里导入它。
const textFieldBorderColor = Color(0xffd6d6d6);
const buttonColor = Color(0xffd5d5d5);
您也可以创建自己的调色板

10-07 12:07