轻量级的选取图片和裁切图片的库,使用系统自带的软件实现。
支持Android版本 Api Level >= 16
使用方法
implementation 'com.sw926.imagefileselector:library:2.0.0'在 Activity 或者 Fragment Start 之前进行初始化:
mImageFileSelector = new ImageFileSelector(this); mImageFileSelector.setOutPutImageSize(w, h); mImageFileSelector.setQuality(80); mImageFileSelector.setListener(new ImageFileResultListener() { @Override public void onSuccess(@NonNull String filePath) { loadImage(filePath); mCurrentSelectFile = new File(filePath); mBtnCrop.setVisibility(View.VISIBLE); } @Override public void onCancel() { Toast.makeText(ExampleActivity.this, "Canceled", Toast.LENGTH_LONG).show(); } @Override public void onError() { 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" />
,拍照也不需要申请权限。