Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/esafirm/android-image-picker

Image Picker for Android 🤖
https://github.com/esafirm/android-image-picker

android camera gallery hacktoberfest image-picker picker-library

Last synced: 7 days ago
JSON representation

Image Picker for Android 🤖

Awesome Lists containing this project

README

        



Android Image Picker


No config yet highly configurable image picker for Android



Android Arsenal - ImagePicker


jitpack - android image picker

# Screenshot

Click to see how image picker looks…

## Download

Add this to your project's `build.gradle`

```groovy
allprojects {
repositories {
maven { url "https://jitpack.io" }
}
}
```

And add this to your module's `build.gradle`

```groovy
dependencies {
implementation 'com.github.esafirm:android-image-picker:x.y.z'
}
```

change `x.y.z` to version in the [release page](https://github.com/esafirm/android-image-picker/releases)

# Usage

For full example, please refer to the `sample` app.

Also you can browse the issue labeled as
question [here](https://github.com/esafirm/android-image-picker/issues?utf8=%E2%9C%93&q=label%3Aquestion+)

## Start image picker activity

The simplest way to start

```kotlin
val launcher = registerImagePicker {
// handle result here
}

launcher.launch()
```

Complete features of what you can do with ImagePicker

```kotlin
val config = ImagePickerConfig {
mode = ImagePickerMode.SINGLE // default is multi image mode
language = "in" // Set image picker language
theme = R.style.ImagePickerTheme

// set whether pick action or camera action should return immediate result or not. Only works in single mode for image picker
returnMode = if (returnAfterCapture) ReturnMode.ALL else ReturnMode.NONE

isFolderMode = folderMode // set folder mode (false by default)
isIncludeVideo = includeVideo // include video (false by default)
isOnlyVideo = onlyVideo // include video (false by default)
arrowColor = Color.RED // set toolbar arrow up color
folderTitle = "Folder" // folder selection title
imageTitle = "Tap to select" // image selection title
doneButtonText = "DONE" // done button text
limit = 10 // max images can be selected (99 by default)
isShowCamera = true // show camera or not (true by default)
savePath = ImagePickerSavePath("Camera") // captured image directory name ("Camera" folder by default)
savePath =
ImagePickerSavePath(Environment.getExternalStorageDirectory().path, isRelative = false) // can be a full path

excludedImages = images.toFiles() // don't show anything on this selected images
selectedImages = images // original selected images, used in multi mode
}
```

If you want to call it outside `Activity` or `Fragment`, you can get the `Intent` with `createImagePickerIntent`

> Please note: handling in `onActivityResult` is not recommended since it's already deprecated in favor of the new
> result API

```kotlin
val intent = createImagePickerIntent(context, ImagePickerConfig())
startActivityForResult(intent, RC_IMAGE_PICKER)
```

## Receive result

when you're done picking images, result will be returned on launcher callback with type `List`. This list cannot
be null but can be empty

```kotlin
val launcher = registerImagePicker { result: List ->
result.forEach { image ->
println(image)
}
}
```

## Camera Only

Use `CameraOnlyConfig` instead of `ImagePickerConfig`

```kotlin
val launcher = registerImagePicker { }
launcher.launch(CameraOnlyConfig())
```

You also still can use the `DefaultCameraModule` but discouraged to do it.

# Wiki

- [Custom components](https://github.com/esafirm/android-image-picker/blob/main/docs/custom_components.md)
- [Using another image library](https://github.com/esafirm/android-image-picker/blob/main/docs/another_image_library.md)
- [Return mode](https://github.com/esafirm/android-image-picker/blob/main/docs/return_mode.md)
- [Save location](https://github.com/esafirm/android-image-picker/blob/main/docs/save_location.md)

# Version 2.x.x

If you still use the previous version, you can check `2.x` branch
in [here](https://github.com/esafirm/android-image-picker/tree/2.x)

# Support Me!

I would make myself more commited to this repo and OSS works in general.

Would you help me achieving this goals?

Buy Me a Coffee at ko-fi.com

# Credits

- AIP Logo by [anaufalm](https://github.com/anaufalm)

# License

MIT @ Esa Firman