Flutter升级至3.3.4后构建App包出现两类错误求助
问题解决方案
第一类错误:EdgeInsets无法分配给Margins?
这是因为你使用的Style类(大概率是富文本渲染类库的API)在版本迭代后,margin和padding参数的类型从Flutter原生的EdgeInsets改成了库自定义的Margins类型。
修改代码时,把EdgeInsets.zero替换为对应库的Margins对象:
- 如果库提供了
Margins.zero常量,直接替换:
style: { 'body': Style( margin: Margins.zero, padding: Margins.zero, fontSize: FontSize(16.0), lineHeight: const LineHeight(1.4), color: Colors.white, textAlign: TextAlign.center, fontWeight: FontWeight.bold, ), 'figure': Style( margin: Margins.zero, padding: Margins.zero), },
- 如果库没有提供直接的zero常量,用
Margins.fromEdgeInsets转换:
margin: Margins.fromEdgeInsets(EdgeInsets.zero), padding: Margins.fromEdgeInsets(EdgeInsets.zero),
第二类错误:非const构造函数不能用const修饰
FontSize的构造函数不是const类型,你之前添加的const修饰符不符合语法要求,直接去掉即可:
修改前:
fontSize: const FontSize(12.0),
修改后:
fontSize: FontSize(12.0),
注意把所有用到const FontSize(...)的地方都去掉const关键字。
内容的提问来源于stack exchange,提问作者Punkkk
相关产品推荐
相关产品推荐

