Flutter Multi Image Picker
Flutter plugin that allows you to display multi image picker on iOS and Android.
Key Features •
- Pick multiple images
- Instantly pick thousands of images at once, without any delay or blocking the UI thread.
- Native performance
- The plugin takes advantage of the two best image picking libraries for Android and iOS, bringing you the best native platform experience.
- Photos sorted by albums
- Take a picture option in the grid view
- Restrict the maximum count of images the user can pick
- Customizable UI and localizations
- Thumbnail support
- Specify the image quality of the original image or thumbnails
- Read image meta data
You can see the official documentation here.
For more information regarding breaking changes and migrating through different versions of the plugin please read the upgrading guide.
Flutter Multi Image Picker is an emailware. Meaning, if you liked using this plugin or has helped you in anyway, I'd like you send me an email on email@example.com about anything you'd want to say about this software. I'd really appreciate it!
This software uses the following open source packages:
image_picker - Official Flutter image picker plugin
GitHub @Sh1d0w ·
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.
- Display only images in the picker on Android #73
- Use custom fork of Matisse until it adds AndroidX support.
- Migrate from the deprecated original Android Support Library to AndroidX. This shouldn't result in any functional changes, but it requires any Android apps using this plugin to also migrate if they're using the original support library.
- Correctly handle LensSpecification and SubjectArea metadata
- Fix possible bug with permissions on Android
- Add original image name to the Asset class
- Fix bug with permissions on Android
- Remove static_library definition on iOS
- Fix memory leak on Android
- Bump Android and iOS versions
- Removed deprecated meta data tag on Android
requestMetadata() method to the Asset class
takePhotoIcon option to ios customization settings
- Android - renamed authorities to
android:authorities="YOUR_PACKAGE_NAME_HERE.multiimagepicker.fileprovider". Please update your manifest file to avoid errors.
- Added custom file provider to avoid collisions with other plugins. See README for example implementation
- Added new optional parameter
- Don't rescale the image when decoding it on Android
- Correctly handle image orientation on Android phones ref
- Increase thumb quality on Android
- Ask for CAMERA permission on Android, and fix opening of the picker after permission grant.
- Use correct application id on Android devices when setting up the camera provider
- requestOriginal now works correctly on Android
- Use app specific content provider, updated README.md
- Commented out example file provider as it gets included in production bundle. If you want to test the example just uncomment it in the android manifest.
- Added new picker option
enableCamera which allows the user to take pictures directly from the gallery. For more info how to enable this please see README.md
- iOS 12 and Swift 4.2 language fixes
- Important: In your XCode build setting you must set Swift Version to 4.2
- Update Image picker library to support Swift 4.2 and XCode 10
- Remove obsolette file path in the asset class
- Fixed path not passed to the Asset class #7
- Add Real file path and allow to refresh image gallery #6 (thanks CircleCurve)
- Add originalWidth, originalHeight, isPortrait and isLandscape getters for the Asset class
- Add release(), releaseOriginal() and releaseThumb() methods to help clean up the image data when it is no longer needed
- Fix null pointer exception on Android when finishing from another activity (thanks to xia-weiyang)
- Add getters to Asset class
requestOriginal methods now will return Future
- Correctly crop the thumb on iOS
- Allow network access to download images present only in iCloud
- Improve thumbs quality on iOS to always deliver best of it
- Fix picking original image on Android was not triggering properly the callback
- The plugin have been redesigned to be more responsive and flexible.
- pickImages method will no longer return List
- You can then request asset thumbnails or the original image, which will load asyncrhoniously without blocking the main UI thred. For more info see the examples directory.
Asset class, with methods
requestThumbnail(int width, int height, callback) and
- Fix crash on iOS when picking a lot of images.
- Picking images on iOS now will properly handle PHAssets
- Fix a crash on Android caused by closing and reopening the gallery
- Support iOS and Android customizations
- iOS: Add missing super.init() call in the class constructor
- Changed sdk: ">=2.0.0-dev.28.0 <3.0.0"
- Add Support for Dart 2 in pubspec.yaml file
- Initial release with basic support for iOS and Android
Demonstrates how to use the multi_image_picker plugin.
For help getting started with Flutter, view our online
Use this package as a library
1. Depend on it
Add this to your package's pubspec.yaml file:
2. Install it
You can install packages from the command line:
$ flutter pub get
Alternatively, your editor might support
flutter pub get.
Check the docs for your editor to learn more.
3. Import it
Now in your Dart code, you can use:
We analyzed this package on Jul 10, 2019, and provided a score, details, and suggestions below.
Analysis was completed with status completed using:
- Dart: 2.4.0
- pana: 0.12.19
- Flutter: 1.7.8+hotfix.3
Detected platforms: Flutter
References Flutter, and has no conflicting libraries.
lib/asset.dart. (-4.89 points)
lib/asset.dart reported 10 hints, including:
line 137 col 5: 'BinaryMessages' is deprecated and shouldn't be used.
line 137 col 20: 'setMessageHandler' is deprecated and shouldn't be used.
line 137 col 48: This function has a return type of 'Future
line 140 col 7: 'BinaryMessages' is deprecated and shouldn't be used.
line 140 col 22: 'setMessageHandler' is deprecated and shouldn't be used.
Maintenance issues and suggestions
Support latest dependencies. (-10 points)
The version constraint in
pubspec.yaml does not support the latest published versions for 1 dependency (