第二百三十五回 wechat_assets_picker简介


我们在上一章回中介绍了"ImagePicker使用总结"相关的内容,本章回中将介绍 wechat_assets_picker这个三方包.闲话休提,让我们一起Talk Flutter吧。

在这里插入图片描述

1. 概念介绍

我们在本章回中介绍的wechat_assets_picker包主要用来获取图片和视频文件,它的功能类似前面章回中介绍的ImagePicker包,但是该包获取图片和视频时的UI界面为微信风格,因此包名中还有wechat字样,这是该包和ImagePicker包最大的区别。本章回中将详细介绍该包的使用方法。

2. 思路与方法

2.1 使用思路

调用包中提供的接口获取图片和视频文件,然后再从接口的返回值中读取被选择的图片和视频。在调用接口时可以通过接口的参数来指定一些功能要求。

这个思路比较好理解,我们将在接下来的小节中介绍具体的使用方法,其中将包含各种使用细节。

2.2 使用方法

  • 在yaml文件中添加包,添加时需要注意包的版本,不同的版本对应不同的flutter版本;
  • 添加权限相关内容。IOS需要在info.plist中指定NSPhotoLibraryUsageDescription的值,Android需要指定以下权限;
<!--    添加读写相关权限,在使用flutter_wechat_assets_picker包时需要使用-->
<!--    必须是下面的两个权限,sdk版本大于33时只声明下面的权限就可以,其它版本可以参考官方文档-->
    <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
    <uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
    <uses-permission android:name="android.permission.READ_MEDIA_VISUAL_USER_SELECTED" />
  • 创建AssetPickerConfig对象,用来指定获取图片或者视频时相关的参数,常用的是图片数量;这个值也可以不指定,使用默认值;
  • 调用包中的pickAssets接口获取图片和视频,该接口是异步接口,使用时要处理相关的错误信息;
  • 从接口返回的结果中获取图片和视频文件,可以显示出来,或者上传到网络;

有些看官可能觉得上面的方法比较抽象,我们将在接下来的小节中通过具体的示例代码来演示。

3. 示例代码

ElevatedButton(
  onPressed: () async {
    debugPrint(" picker button clicked");


    assetEntityList = await AssetPicker.pickAssets(context,
        pickerConfig: pickerConfig);

    if (assetEntityList != null && assetEntityList!.isNotEmpty) {
      ///依据文件类型是图片还是视频做不同的处理
      if (assetEntity != null &&assetEntity!.type == AssetType.image) {}
      if (assetEntity != null && assetEntity!.type == AssetType.video) {}
    }else {
      ///处理接口返回的错误
    }
  },
  child: const Text("Pick Image"),
),

我们在上面的示例代码中把获取图片和视频的接口封装到了按钮中,这样在点击按钮时将弹出一个选择图片和视频的窗口,该窗口的UI风格和微信发朋友圈时的风格完全相同,我在这里就不演示了。大家可以自己动手去实践,或者打开手里的微信看一看。

此外,代码中还有一些细节需要说明:

  • 接口返回的文件存放在List中,也就是代码中的assetEntityList,List中的元素类型是AssetEntity;
  • 接口是的参数是pickerConfig,这方面的内容比较多,我们在后面章回中单独介绍;
  • 接口是异步操作,因此示例代码中使用async/await关键字,也可以通过Future来运行;
  • 接口返回的文件类型是AssetType类型,它包含Image,Video,Audio和other四种类型;

4. 内容总结

最后,我们对本章回中内容做一个全面的总结:

  • wechat_assets_picker包主要用来获取图片和视频文件;
  • wechat_assets_picker包在获取图片和视频文件时使用和微信相同的界面风格;
  • 我们可以使用包中的pickAssets接口来获取图片和视频文件,注意接口是异步接口;
  • 接口可以返回单个或者多个图片和视频文件,文件的类型相同而且存放在List中;

看官们,与"wechat_assets_picker简介"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

talk_8

真诚赞赏,手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值