MediaPickerLib
WrathChaos
19
Visit GitHub RepoImage Pickers

MediaPickerLib

Kotlin based media picker library, to pick multiple images and/or vidoes from built-in gallery. Easy to implement and use :)

awesome_kotlin licence Jitpack API Maintenance

Setup

Add this on your module:app build.gradle

allprojects {
  repositories {
  	...
  	maven { url 'https://jitpack.io' }
  }
}

Gradle

implementation 'com.github.WrathChaos:MediaPickerLib:0.1.4'

Usage

This is the request code to handle and get the picked images/videos
private val OPEN_MEDIA_PICKER = 1  // Request code
You need to import Gallery from MediaPickerLib and send mandatory intents to work
val intent = Intent(this, Gallery::class.java)
// Set the title for toolbar
intent.putExtra("title", "Select media")
// Mode 1 for both images and videos selection, 2 for images only and 3 for videos!
intent.putExtra("mode", 1)
intent.putExtra("maxSelection", 3) // Optional
startActivityForResult(intent, OPEN_MEDIA_PICKER)
Receive what you picked here: This is an example from sample project, you can handle whatever you want with the path :)
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)
    // Check which request we're responding to
    if (requestCode == OPEN_MEDIA_PICKER) {
        // Make sure the request was successful
        if (resultCode == Activity.RESULT_OK && data != null) {
            val selectionResult = data.getStringArrayListExtra("result")
            selectionResult.forEach {
                try {
                    Log.d("MyApp", "Image Path : " + it)
                    val uriFromPath = Uri.fromFile(File(it))
                    Log.d("MyApp", "Image URI : " + uriFromPath)
                    // Convert URI to Bitmap
                    val bm = BitmapFactory.decodeStream(
                            contentResolver.openInputStream(uriFromPath))
                    image.setImageBitmap(bm)
                } catch (e: FileNotFoundException) {
                    e.printStackTrace()
                }
            }
        }
    }
}

Customization

You can customize the color of the library (More customization features is coming soon)

Title and back's button color

 <color name="titleTextColor">#ffffff</color>  

Unselected image and video's tab title

 <color name="titleTabColor">#afafaf</color>   

Selected image and video's tab title

<color name="titleSelectedTabColor">#ffffff</color>

Gallery's fab button color

<color name="fabColor">#931931</color>

Fork

This is original a fork from multiple-media-picker | Currently not working

  • Re-written on Kotlin
  • Added new features
  • Tablet support
  • Fixed bugs

Thanks for inspiration Erikagtierrez :)

Author

FreakyCoder, kurayogun@gmail.com

License

MediaPickerLib is available under the MIT license. See the LICENSE file for more info.

Become a better Android Developer
Millions of developers are learning at MindOrks

Online Training Program

Featured Blogs

Our Team

MindOrks is Certainly one of the best online blog to stay on top of all the Android development news, coding and design patterns. Finally a blog I can count on to keep myself updated with latest and greatest things happening in Android world.

Vipul Shah
Android Developer
Microsoft

Become Pro in Android by watching videos

OUR LEARNERS WORK AT