轻量级的选取图片和裁切图片的库,使用系统自带的软件实现。
支持Android版本 Api Level >= 16
implementation 'com.sw926.imagefileselector:library:2.0.0'在 Activity 或者 Fragment Start 之前进行初始化:
mImageFileSelector = newImageFileSelector(this);
mImageFileSelector.setOutPutImageSize(w, h);
mImageFileSelector.setQuality(80);
mImageFileSelector.setListener(newImageFileResultListener() {
@OverridepublicvoidonSuccess(@NonNullStringfilePath) {
loadImage(filePath);
mCurrentSelectFile = newFile(filePath);
mBtnCrop.setVisibility(View.VISIBLE);
}
@OverridepublicvoidonCancel() {
Toast.makeText(ExampleActivity.this, "Canceled", Toast.LENGTH_LONG).show();
}
@OverridepublicvoidonError() {
Toast.makeText(ExampleActivity.this, "Unknown Error", Toast.LENGTH_LONG).show();
}
});在选择图片的地方调用:
mImageFileSelector.takePhoto();
// 或者mImageFileSelector.selectImage();在 appcompat 支持 ActivityResultLauncher 后,选择图片已经非常简单,这个项目只是做了简单的封装,添加了拍照和图片压缩。选择图片不需要任何权限,如果 App 的 AndroidManifest.xml 没有添加 <uses-permission android:name="android.permission.CAMERA" />
,拍照也不需要申请权限。