📜  Flutter – OctoImage 小工具(1)

📅  最后修改于: 2023-12-03 15:15:08.069000             🧑  作者: Mango

Flutter – OctoImage 小工具

OctoImage

简介

Flutter – OctoImage 是一个 Flutter 库,为图片组件提供了新的能力和样式,以增强用户体验。它可用于显示网络图片、本地资源或图片缓存,并且提供了多种图片效果和加载动画。

特点
  • 提供多种图片加载效果,如模糊、淡入淡出等。
  • 支持图片缓存,提供了内存和磁盘缓存策略。
  • 支持网络图片加载,可自定义加载 placeholder 和错误提示图片。
  • 支持本地图片加载,通过资源路径或文件路径。
  • 支持自定义图片效果和动画。
  • 简化了图片加载和显示的常见操作。
安装

pubspec.yaml 文件中添加以下依赖:

dependencies:
  octo_image: ^1.0.0

然后运行以下命令获取依赖项:

$ flutter pub get
使用示例
显示网络图片
OctoImage(
  image: NetworkImage('https://example.com/image.jpg'),
  placeholderBuilder: OctoPlaceholder.blurHash(
    'LEHV6nWB2yk8pyo0adR*.7kCMdnj',
  ),
  errorBuilder: OctoError.icon(color: Colors.red),
  fit: BoxFit.cover,
  width: 200,
  height: 200,
)
显示本地图片
OctoImage(
  image: AssetImage('assets/images/image.jpg'),
  placeholderBuilder: OctoPlaceholder.circularProgressIndicator(),
  errorBuilder: OctoError.icon(color: Colors.red),
  fit: BoxFit.contain,
  width: 200,
  height: 200,
)
自定义图片效果和动画
OctoImage(
  image: AssetImage('assets/images/image.jpg'),
  placeholderBuilder: OctoPlaceholder.rectangularProgressIndicator(),
  errorBuilder: OctoError.icon(color: Colors.red),
  fit: BoxFit.cover,
  width: 200,
  height: 200,
  progressIndicatorBuilder: (context, progress) {
    return CircularProgressIndicator(
      value: progress.expectedTotalBytes != null
          ? progress.cumulativeBytesLoaded /
              progress.expectedTotalBytes!
          : null,
    );
  },
  fadeOutDuration: const Duration(milliseconds: 400),
  fadeInDuration: const Duration(milliseconds: 800),
)

更多示例和详细用法请查看 OctoImage GitHub 页面

总结

Flutter – OctoImage 是一个功能强大的图片组件库,为开发人员提供了丰富的图片加载效果和样式。无论是网络图片还是本地图片,OctoImage 都能提供最佳的显示效果和加载体验。它简化了图片加载和显示的常见操作,为 Flutter 应用程序增加了更好的用户体验。

注意:OctoImage 依赖于 Flutter,因此在使用之前,请确保已按照 Flutter 的安装指南正确安装和配置了 Flutter 开发环境。

请访问 Flutter 官方网站 了解更多关于 Flutter 的信息。