Instagram 资产选择器
注意: 此仓库仍处于早期开发阶段。欢迎投稿!
一个基于 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:本地化
✨ 致谢
此包基于 AlexV525 的 flutter_wechat_assets_picker 和 lykhonis 的 image_crop。

