const kBorderStyle2 = BoxDecoration(
borderRadius: BorderRadius.all(
Radius.circular(20),
),
border: Border.all(color: Colors.greenAccent,),
);
嗨,
我一直在独自学习颤振,并陷入了这个错误。
我有一个constants.dart文件,其中保存了该应用程序的所有样式。
每当我尝试将color: Colors.greenAccent,
添加到const时,都会出现错误“必须使用常量值初始化const变量”。
但是后来我将const更改为var,问题就消失了。
对于以下代码,我也会遇到相同的错误:
const kBorderStyleX = BoxDecoration(
color: Colors.greenAccent,
borderRadius: BorderRadius.circular(20),
);
当我将其更改为:
const kBorderStyle1 = BoxDecoration(
color: Colors.greenAccent,
borderRadius: BorderRadius.all(
Radius.circular(20),
),
);
const是否缺少某些内容? 我为什么会收到错误消息?
答案 0 :(得分:2)
要检查对象是否符合分配给const
变量的条件,Dart依赖于创建对象的构造函数,可以将其标记为const(例如,const BorderRadius.all()
与{ {1}}。
这就是即使即使使用的构造函数未标记为BorderRadius.circular()
,即使对象可能甚至无法更改的原因,Dart也会将其视为可能的原因。