flutter 图片预览缩放、滑动 photo_view

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flutter 图片预览缩放、滑动 photo_view相关的知识,希望对你有一定的参考价值。

参考技术A 获取插件

Flutter好用的图片库

extended_image

功能最全面的图片展示库

主要功能

  • 缓存网络图片

  • 加载状态(正在加载,完成,失败)

  • 拖拽缩放图片

  • 图片编辑(裁剪,旋转,翻转)

  • 图片预览(跟微信掘金一样)

  • 滑动退出效果(跟微信掘金一样)

  • 设置圆角,边框

  • 支持进度显示

  • 图片预览上滑显示详情(跟图虫一样)


支持进度显示

增加loadingProgress参数,用于显示进度。

 ExtendedImage.network( 'https://raw.githubusercontent.com/fluttercandies/flutter_candies/master/gif/extended_text/special_text.jpg', handleLoadingProgress: true, clearMemoryCacheIfFailed: true, clearMemoryCacheWhenDispose: true, cache: false, loadStateChanged: (ExtendedImageState state) { if (state.extendedImageLoadState == LoadState.loading) { final loadingProgress = state.loadingProgress; final progress = loadingProgress?.expectedTotalBytes != null ? loadingProgress.cumulativeBytesLoaded / loadingProgress.expectedTotalBytes : null; return Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: <Widget>[ SizedBox( width: 150.0, child: LinearProgressIndicator( value: progress, ), ), SizedBox( height: 10.0, ), Text('${((progress ?? 0.0) * 100).toInt()}%'), ], ), ); } return null; }, ),
图片预览上滑显示详情(跟图虫一样)

当时在制作图片预览功能的时候,就暴露多了足够的api,提供给用户自定义各种效果。

至此pic_swiper.dart已拥有以下功能:

  • 缩放

  • 平移

  • 上下一页图片

  • 拖动退出预览

  • 上滑显示详情

extended_image_library


flutter_image_editor可以说是低调为extended_image量身打造的原生插件,支持旋转裁剪翻转,extended_image负责图片编辑UI,flutter_image_editor提供原生裁剪图片数据能力。由于dart image库在处理图片的效率问题,原生库(期待纯C++库)就有了很大的优势(大图片可以有10倍速度的提升)。


flutter_wechat_assets_picker


出自Flutter劝退师Alex之手,
是一个对标微信的多选资源选择器,99%接近于原生微信的操作,纯Dart编写,支持选择的同时也支持预览资源。支持如下功能:

  • 图片资源支持

  • 视频资源支持

  • 国际化支持

  • 自定义文本支持

以上是关于flutter 图片预览缩放、滑动 photo_view的主要内容,如果未能解决你的问题,请参考以下文章

Flutter上线项目实战——图片视频预览

Flutter上线项目实战——图片视频预览

如何优雅地在Android上实现iOS的图片预览

Flutter 滑动、缩放控件

Android多点触控技术,实现对图片的放大缩小平移,惯性滑动等功能

鸿蒙开源第三方组件——自定义图片缩放组件PinchImageView-ohos