Written in kotlin with Android architecture components, sher-gil
aims to be a reliable library resource for media picking.
- Multiple media selection (currently only images)
- Custom MIME types
- Handles runtime permissions
- Returns media selection as
List<Uri>
- Custom theme
Add the dependency to your project build.gradle
file
repositories {
jcenter()
}
dependencies {
implementation 'com.kinnerapriyap:sher-gil:$latest_version'
}
If your project uses a Android Gradle Plugin version after 4.0.0-alpha05:
android {
...
buildFeatures {
dataBinding = true
}
}
If your project uses a Android Gradle Plugin version before 4.0.0-alpha05:
android {
...
dataBinding {
enabled = true
}
}
Sher-gil may be started from either an Activity or a Fragment.
Shergil.create(this)
.mimeTypes(MimeType.IMAGES)
.showDisallowedMimeTypes(false)
.numOfColumns(2)
.theme(R.style.Shergil)
.allowPreview(true)
.maxSelectable(Integer.MAX_VALUE)
.withRequestCode(REQUEST_SHERGIL)
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (resultCode == Activity.RESULT_OK && requestCode == REQUEST_SHERGIL) {
val mediaUris: List<Uri> = Shergil.getMediaUris(data)
}
}
If you're on API level > R
, you can use registerForActivityResult(ActivityResultContract, ActivityResultCallback)
with the appropriate ActivityResultContract and handle the result in the callback.
Min SDK: sher-gil supports a minimum SDK of 18.
If you have any feedback or a suggestion for a better implementation, please don't hesitate to open an issue or a pull request. For major changes, please open an issue first to discuss what you would like to change.
Amrita Sher-Gil, a pre-eminent Hungarian-Indian early modernist painter who became known as the 'Indian Frida Kahlo'.
The Matisse library