-
支持单图留白剪裁(仿最新微信图片头像选择),支持生成透明背景图(2.4.5 版本加入)
-
小红书剪裁样式支持视频多选和预览
-
微信样式支持图片和视频文件混合选择或指定类型选择
-
微信样式支持保存上一次选中的图片状态
-
微信样式支持屏蔽上一次选中的图片
-
选择结果直接回调,拒绝配置 ActivityForResult+requestCode,即调用即处理
-
支持选择器调用失败回调(2.4.4 版本加入)
-
支持自定义回调类型(2.4.5 版本加入)
-
轻量级,aar 大小不超过 300K,无 so 库,无任何第三方依赖
-
支持 androidx 和 support
-
永久维护
-
支持直接回调媒体相册列表及文件列表数据(2.4.6 版本加入)
-
支持选择器所有文案定制(2.4.6 版本加入)
-
androidx 已适配 AndroidQ,support 版本不支持 29(2.4.6 版本加入)
-
支持直接拍摄视频(2.4.6 版本加入)
引入依赖
androidx 版本:
implementation ‘com.ypx.yimagepicker:androidx:2.4.6.2’
support 版本: (不支持 targetSdkVersion>=29,最高兼容 28)
implementation ‘com.ypx.yimagepicker:support:2.4.6’
核心原理
YImagePicker 与主项目通过 presenter 进行交互与解耦,presenter 采用序列化接口的方式实现。回调采用嵌入 fragment 的方式实现,类似于 Glide 或 RxPermisson.原理上还是使用 OnActivityResult,但无需再配置 requestCode 并且支持跨进程回调。
小红书样式需要实现:ICropPickerBindPresenter 微信样式需要实现:IMultiPickerBindPresenter
效果图集
- demo 效果
- 小红书样式
- 微信样式
- 自定义样式