Instagram 资产选择器

Pub

注意: 此仓库仍处于早期开发阶段。欢迎投稿!

一个基于 Instagram 选择器 UI 的图片选择器。它使用了强大的 flutter_wechat_assets_picker 包来处理选择器,以及一个自定义版本的 image_crop 来进行裁剪。

? 特点

  • ✅ Instagram 布局
    • 滚动行为、动画
    • 预览、选择、取消选择操作逻辑
  • ✅ 主题和语言定制
  • ✅ 多图选择(带最大限制)
  • ✅ 弹出后恢复选择器状态
  • ✅ 将纵横比从 1:1 更改为 4:5
  • ✅ 一次裁剪所有图片,并接收带有进度值的流
  • ❌ 不支持视频

? 截图

布局和滚动 裁剪

? 安装

由于此包是 flutter_wechat_assets_picker 的自定义代理,您必须遵循该包的设置建议:安装指南

? 用法

更多详情请查看 示例

Future<void> callPicker() => InstaAssetPicker.pickAssets(
        context,
        title: 'Select images',
        maxAssets: 10,
        onCompleted: (Stream<InstaAssetsExportDetails> stream) {
            // TODO : handle crop stream result
            // i.e : display it using a StreamBuilder
            // - in the same page (closeOnComplete=true)
            // - send it to another page (closeOnComplete=false)
            // or use `stream.listen` to handle the data manually in your state manager
            // - ...
        },
    );

InstaAssetsExportDetails 中的字段

名称 类型 描述
croppedFiles List<File> 所有裁剪文件的列表
selectedAssets List<AssetEntity> 未裁剪的已选资产
aspectRatio 双精度 选择的纵横比(1 或 4/5)
progress 双精度 导出进度指示器(0 到 1 之间)

关于选择器配置:AssetPickerConfig

关于 textDelegate本地化

✨ 致谢

此包基于 AlexV525flutter_wechat_assets_pickerlykhonisimage_crop

GitHub

查看 Github