Closed pishguy closed 5 years ago
Did u find a solution to this?
@colt005 no, i can't
Use CachedNetworkImageProvider instead of CachedNetworkImage, It would solve the problem.
@colt005
in my issue as i said
now i try to use another way for example: image: new DecorationImage(image:new CachedNetworkImageProvider(url)), so how can i have placeholder and errorWidget in this implementation?
I used an if condition to check if the url is empty, it simply solved the issue in my use-case.
@MahdiPishguy sorry for my late reaction.
ImageProviders can only return 1 image, so this cannot return a placeholder first. All image widgets on Android expect an imageprovider, so indeed you cannot use CachedNetworkImage directly. CachedNetworkImage does provide a callback which gives an imageprovider. What you can do is something like this (I'll improve the readme file to show this option):
CachedNetworkImage(
imageUrl: "http://notAvalid.uri",
imageBuilder: (context, imageProvider) => Container(
decoration: BoxDecoration(
image: DecorationImage(
image: imageProvider,
fit: BoxFit.cover,
),
),
),
placeholder: (context, url) => CircularProgressIndicator(),
errorWidget: (context, url, error) => Icon(Icons.error),
);
@renefloor
thanks to reply, please let me to check that
I've also added it to the readme now.
i have the same issue, i want to use CachedNetworkImage on image property for the DecorationImage but it says: The argument type 'CachedNetworkImage' can't be assigned to the parameter type 'ImageProvider
If you want to use it with DecorationImage you need to use CachedNetworkImageProvider
. If you want to combine it with a placeholder you can do like this:
CachedNetworkImage(
imageUrl: "http://via.placeholder.com/200x150",
imageBuilder: (context, imageProvider) => Container(
decoration: BoxDecoration(
image: DecorationImage(
image: imageProvider,
fit: BoxFit.cover,
colorFilter:
ColorFilter.mode(Colors.red, BlendMode.colorBurn)),
),
),
placeholder: (context, url) => CircularProgressIndicator(),
errorWidget: (context, url, error) => Icon(Icons.error),
),
How to use placeholder with CachedNetworkImageProvider?!
when i try to use this library on
Container
to make circle image i get errorThe argument type 'CachedNetworkImage' can't be assigned to the parameter type 'ImageProvider'.
code:
now i try to use another way for example:
image: new DecorationImage(image:new CachedNetworkImageProvider(url)),
so how can i have
placeholder
anderrorWidget
in this implementation?