当在flutter中使用FlexibleSpaceBar小部件时,我无法设置背景属性。根据医生的说法,那应该是个寡妇。
从医生那里:
{Widget后台}在展开时显示在标题后面。通常是将Image.fit设置为BoxFit.cover的图像小部件。
当我试图使用Image.asset函数设置属性时,它会显示一个错误:正在调用的构造函数不是const构造函数。尝试使用'new‘调用构造函数。因此,很明显,我尝试使用‘新’关键字,这也没有修复它。我也尝试使用不同的小部件,但似乎都抛出了相同的错误。
我使用了以下代码:
flexibleSpace: FlexibleSpaceBar(
title: Text('Demo'),
background: Row(
children: <Widget>[Text('DEMO')],
),
// background: Image.asset('images/lake.jpg',
// width: 500, height: 300, fit: BoxFit.cover),
) 当在FlexibleSpaceBar之外使用图像资产时,它工作得很好!在这一点上,我不确定这是一个bug或做了完全错误的事情。
版本:颤振: 1.7.8+hotfix.4飞镖: 2.4.0
发布于 2022-04-21 22:24:53
如注释所示,这种错误是由于const用于在代码中的某个地方构造一个不提供const构造函数的对象。
flexibleSpace: FlexibleSpaceBar(标题:文本(“演示”),背景:行(子:文本(“演示”),//背景:Image.asset(“图像/lake.jpg”,//宽度: 500,高度: 300,fit: BoxFit.cover)
检查您提供的代码时,很可能会在将常量FlexibleSpaceBar()小部件分配给不应该是常量的flexibleSpace参数时产生错误。
见下面的例子:
flexibleSpace: const FlexibleSpaceBar(
title: Text('Demo'),
background: Row(
...
),
...
)但是,由于情况并非如此,所以代码中应该有需要检查的地方。
我建议使用颤振调试工具来隔离导致问题的代码部分。
https://stackoverflow.com/questions/57586511
复制相似问题