Android library to choose image from gallery or camera with option to compress result image
ImagePicker
Android library to choose image from gallery or camera with option to compress result image.
Download
Add this to your project’s build.gradle
allprojects {
repositories {
maven { url "https://jitpack.io" }
}
}
And add this to your module’s build.gradle
dependencies {
implementation 'com.github.maayyaannkk:ImagePicker:x.y.z'
}
Usage
For full example, please refer to app
module
No need to request for write external storage permission, library will do that.
Crop with 1:1 aspect ratio
Start image picker activity
The simplest way to start is setup options and start the activity. Set the FLAG_CROP to crop resulting image in 1:1 aspect ratio
Intent intent = new Intent(this, ImageSelectActivity.class);
intent.putExtra(ImageSelectActivity.FLAG_COMPRESS, false);//default is true
intent.putExtra(ImageSelectActivity.FLAG_CAMERA, true);//default is true
intent.putExtra(ImageSelectActivity.FLAG_GALLERY, true);//default is true
intent.putExtra(ImageSelectActivity.FLAG_CROP, isCrop);//default is false
startActivityForResult(intent, 1213);
Receive result
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1213 && resultCode == Activity.RESULT_OK) {
String filePath = data.getStringExtra(ImageSelectActivity.RESULT_FILE_PATH);
Bitmap selectedImage = BitmapFactory.decodeFile(filePath);
imageView.setImageBitmap(selectedImage);
}
}
Corner cases
throws IllegalStateException if:
-chooseFromCamera and chooseFromGallery both are false