无法将参数类型“Object”分配给参数类型“ImageProvider<Object>”
我刚刚更新到 Dart2 和 Flutter sdk: '>=2.12.0 <3.0.0' 现在这个 if 语句中断了:
decoration: new BoxDecoration(
shape: BoxShape.circle,
color: Colors.blueAccent,
border: Border.all(
color: Colors.blueAccent,
width: 20.0,
style: BorderStyle.solid),
image: new DecorationImage(
fit: BoxFit.cover,
image: myMarkerThumb != 'noImage'
? NetworkImage(myMarkerThumb)
: AssetImage('assets/images/noImageAvailable.png'),
),
),
不能将参数类型“Object”分配给参数类型“ImageProvider”。),
我只是从颤振开始,不知道去哪里找别的。
回答
嘿,这是目前我在使用 dart 2.12 的 flutter repo 中打开的一个问题。
您可以在此期间制作的一个简单解决方法就是投射对象。
decoration: BoxDecoration(
shape: BoxShape.circle,
color: Colors.blueAccent,
border: Border.all(
color: Colors.blueAccent,
width: 20.0,
style: BorderStyle.solid),
image: DecorationImage(
fit: BoxFit.cover,
image: myMarkerThumb != 'noImage'
? NetworkImage(myMarkerThumb)
: AssetImage('assets/images/noImageAvailable.png') as ImageProvider,
),
),
回答
一些在 open issue 中解决了投射到图像提供程序的问题
@AbdurrahmanElrayes
这个解决方案也适用于我
image: DecorationImage(
image: true ? NetworkImage('someNetWorkLocation.com') : AssetImage('assets/images/noImageAvailable.png') as ImageProvider
),
THE END
二维码