转自:https://segmentfault.com/a/1190000004263541?_ea=549747
首先非常感谢对GalleryFinal提出意见和想法的童鞋们,使得GalleryFinal经过重重迭代变得完善起来。
GitHub地址 Demo APK下载
简述
GalleryFinal是一个图片选择(单选/多选)、拍照、编辑、裁剪及旋转为一身的图片选择器。使用方便,功能可自己配置,GalleryFinal还可以根据开发者的喜好来选择主题,当然也支持自定义主题。而且GalleryFinal自身并没有强制绑定某个ImageLoader,开发者可以根据自己项目给GalleryFinal配置图片加载器。GalleryFinal还放弃了startActivityForResult+onActivityResult来获取选择结果,而是采用事件回调的机制。(我觉得startActivityForResult+onActivityResult太麻烦了,同意的点个赞吧,呵呵~)。GalleryFinal经过三四个月的版本迭代,修复bug,优化需求,已经处于稳定的状态。
也许有人会问:系统不是有相册选择器吗,为什么还有做一个GalleryFinal呢,有必要吗?我告诉你很有必要。微信,QQ等等app它们都是自己带图片选择器,并没有直接调系统的图片选择器。为什么要这么做呢?我总结出一下几点:
-
最大的问题就是兼容性了,手机厂商那么多,相册软件那么多从而引起各种奇葩的问题
-
有些手机拍照图片倒立情况(如三星和魅族)
-
拿到的bitmap或uri为空
-
非常频繁出现OOM
-
不支持多选
-
拍照/选择图片/裁剪视乎用起来有些麻烦,加上处理一些旋转、裁剪、压缩就更加麻烦了,代码多得不行不行的。
-
系统的图片选择UI上与自己APP样式不统一
-
有些不支持图片旋转
-
....
使用GalleryFinal以上问题你都不用考虑,就是这么的任性。