引入第三方依赖 ,版本号自行 Pub仓库 查阅
photo: ^0.4.8
/// 插件返回的资源
List<AssetEntity> assets = [];
// 拿到的file
List<File> fileImage = [];
/// 调用插件
void pickAssets() async {
assets = await PhotoPicker.pickAsset(context: context,
/// 标题颜色和底部颜色
themeColor: Colors.blue,
/// 元素间距
padding: 0.0,
/// 边框颜色
dividerColor: Colors.transparent,
/// 复选框禁用颜色
disableColor: Colors.grey.shade300,
/// the content item radio
itemRadio: 1.0,
/// 最大选择器图像计数
maxSelected: maxImg - fileImage.length,
/// 默认的是中文。,可以自定义I18nProvider或使用ENProvider()
provider: I18nProvider.chinese,
/// 项行数
rowCount: 4,
/// 文本颜色
textColor: Colors.white,
/// 预览图质量大小,默认为64,太大加载稍慢
thumbSize: 80,
/// 默认值是常用的,可以自定义委托来对图库进行排序
sortDelegate: SortDelegate.common,
/// 默认值是DefaultCheckBoxBuilderDelegate,或者您可以自定义委托来创建复选框
checkBoxBuilderDelegate: DefaultCheckBoxBuilderDelegate(
activeColor: Colors.white,
unselectedColor: Colors.white,
checkColor: Colors.blue,
),
/// 类型
pickType: PickType.onlyImage,
);
if (assets != null && assets.length > 0) {
/// 遍历插件返回的资源
assets.forEach((f) {
_getFile(f);
});
}
}
/// 拿到资源中的File
/// [f] AssetEntity
_getFile(f) async{
await f.file.then((v) {
// 存储插件返回的资源
fileImage.add(v);
});
}
IOS端,需要在 Info.plist 中配置权限
<key>NSPhotoLibraryUsageDescription</key>
<string>App need your agree, can visit your album</string>