一款用於在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
微信公衆號:終端研發部