颤振const构造函数错误

Muh*_*eef 4 android dart flutter

我正在关注关于颤振的 udacity 课程,并在以下行中收到错误“被调用的构造函数不是 const 构造函数”

const _rowHeight = 100.0;
const _cornerRadius = BorderRadius.circular(_rowHeight / 2);// error is on this line
Run Code Online (Sandbox Code Playgroud)

Ric*_*eap 6

这可能只是border_radius.dart.

BorderRadius.circular定义为(注意circular命名构造函数不是const):

/// Creates a border radius where all radii are [Radius.circular(radius)].
BorderRadius.circular(double radius) : this.all(
  new Radius.circular(radius),
);
Run Code Online (Sandbox Code Playgroud)

当它似乎可以定义为(尽管这可能会破坏其他事情):

/// Creates a border radius where all radii are [Radius.circular(radius)].
const BorderRadius.circular(double radius) : this.all(
  const Radius.circular(radius),
);
Run Code Online (Sandbox Code Playgroud)

有一个解决方法。将您的代码更改为:

const _rowHeight = 100.0;
const _cornerRadius = BorderRadius.all(Radius.circular(_rowHeight / 2));
Run Code Online (Sandbox Code Playgroud)

同样,您可以删除 const:var _cornerRadius =BorderRadius cornerRadius =.

  • 这不是一个错误,只是不可能定义一个 const 构造函数来创建另一个这样的对象。另一种方法是将其设为静态 (4认同)