flutter 如何将CachedNetworkImage转换为ImageProvider?

n6lpvg4x  于 2022-12-27  发布在  Flutter
关注(0)|答案(4)|浏览(376)

我想在CircleAvatar小部件中显示缓存的网络图像,但backgroundImage参数需要ImageProvider。

72qzrwbm

72qzrwbm1#

使用CachedNetworkImageProvider
创建ImageProvider,该ImageProvider使用比例从url加载图像。当图像加载失败时,将调用errorListener。

rdrgkggo

rdrgkggo2#

如果你想要的只是一个圆形的CachedNetworkImage,你可以使用ClipOval

ClipOval(
        child: CachedNetworkImage(
            width: 32,
            height: 32,
            fit: BoxFit.cover,
            imageUrl: 'BLA.jpg',
            placeholder: CircularProgressIndicator(),
        ),
    ),
pepwfjgg

pepwfjgg3#

请使用缓存网络映像中的imageBuilder

CachedNetworkImage(
      placeholder: (context, url) => CircularProgressIndicator(),
      errorWidget: (context, url, error) => new Icon(Icons.error),
      fit: BoxFit.contain,
      imageUrl: imagePath,
      imageBuilder: (context, imageProvider) { // you can access to imageProvider
        return CircleAvatar( // or any widget that use imageProvider like (PhotoView)
          backgroundImage: imageProvider,
        );
      },
    )
4jb9z9bj

4jb9z9bj4#

如果你的意图是显示图像内的一个循环。
use:

ClipRRect(borderRadius: BorderRadius.circular(100),
child: CachedNetworkImage(...))

如果要将CachedNetworkImage转换为ImageProvider
use:

CachedNetworkImageProvider(url)

相关问题