Flutter 图像选择器,多图片选择器 的使用

引入第三方依赖 ,版本号自行 Pub仓库 查阅

photo: ^0.4.8 

  /// 插件返回的资源
  List assets = [];

  // 拿到的file
  List 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 中配置权限

NSPhotoLibraryUsageDescription
App need your agree, can visit your album

 

 

你可能感兴趣的:(Flutter,flutter)