21
4

3 回答 3

46

嘿,这是我在颤振 repo 中用 dart 2.12 打开的一个问题。

与此同时,您可以做的一个简单的解决方法就是投射对象。


 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,
              ),
            ),

于 2021-03-12T10:34:46.110 回答
17

一些已打开的问题解决了投射到图像提供者的问题

@AbdurrahmanElrayes

这个解决方案也适用于我

image: DecorationImage( 
   image: true ? NetworkImage('someNetWorkLocation.com') : AssetImage('assets/images/noImageAvailable.png') as ImageProvider 
),
于 2021-06-19T07:14:08.200 回答
0

在 Dart 中,动态既是顶部类型(所有类型的超类型)又是底部类型(所有类型的子类型),具体取决于上下文。这意味着例如,将具有 String 类型参数的函数分配给期望具有动态参数的函数类型的位置是有效的。

然而,在 Dart 2 中使用非参数类型dynamic(或其他顶级类型,例如 Object?)会导致编译时错误。

要解决此类型错误,请尝试按类型参数强制转换

image: DecorationImage( image: true ? NetworkImage('someNetWorkLocation.com') : AssetImage('assets/images/noImageAvailable.png') as ImageProvider ),
于 2022-01-26T06:34:34.377 回答