一款用于在Android设备上获取照片(拍照或从相册、文件中选择)、裁剪图片、压缩图片的开源工具库git
方式一:经过继承的方式三者之一。github
TakePhotoFragmentbash
经过getTakePhoto()
获取TakePhoto
实例进行相关操做。
重写如下方法获取结果微信
void takeSuccess(TResult result);
void takeFail(TResult result,String msg);
void takeCancel();复制代码
方式二:经过组装的方式
在相对应的类中进行添加代码框架
1.实现TakePhoto.TakeResultListener,InvokeListener
接口。工具
2.在 onCreate,onActivityResult,onSaveInstanceState
方法中调用TakePhoto对用的方法。测试
你能够选择是否对图片进行压缩处理,你只须要告诉它你是否要启用压缩功能以及CompressConfig便可
ui
APIspa
/**
* 启用图片压缩
* @param config 压缩图片配置
* @param showCompressDialog 压缩时是否显示进度对话框
* @return
*/
void onEnableCompress(CompressConfig config,boolean showCompressDialog);复制代码
Usage:code
TakePhoto takePhoto=getTakePhoto();
takePhoto.onEnableCompress(compressConfig,true);
takePhoto.onPickFromGallery();复制代码
Android6.0
因为Android6.0新增了"运行时权限控制(Runtime Permissions)",为了应对这一改变,TakePhoto加入和自动权限管理,当TakePhoto检测到须要权限时,TakePhoto会自动申请权限,因此小伙伴们不用担忧权限的使用问题。
Android7.0
在Android N中,Android 框架执行了 StrictMode,应用间共享文件和之前也有所区别。为了适配Android7.0的改变,同时也为了方便你们使用TakePhoto,TakePhoto会自动根据手机的Android版本自行适配,小伙伴们依旧能够向TakePhoto传递Uri imageUri = Uri.fromFile(file);
类型的Uri而不用担忧兼容性问题。
博客地址:
项目地址:
若是你以为此文对您有所帮助,欢迎入群 QQ交流群 :232203809
微信公众号:终端研发部