advance_image_picker 0.0.3
advance_image_picker: ^0.0.3 copied to clipboard

Flutter plugin in pure Dart code for selecting/editing multiple images from the Android/iOS image library and taking new pictures with the camera in the same view.

advance_image_picker #

Flutter plugin for selecting multiple images from the Android and iOS image library, taking new pictures with the camera, and edit them before using such as rotating, cropping, adding sticker/filters.

This is an advanced version of image_picker plugin.

Key Features #

  • Display live camera preview in a widget.
  • Adjust exposure
  • Zoom camera preview
  • Capture photo without saving into device library
  • Capture with preview size mode & full screen size mode
  • Select photos from device library by browsing photo albums
  • Preview selected images
  • Support button label & text translation
  • Easy image editing features, such as rotation, cropping, adding sticker/filters
  • Object detector & OCR (implement in future)

Apps using this package # - Shopping app for Vietnamese

Google Play App Store - Find places to have fun, find places to experience!

Google Play App Store

Demo & Screenshots #

Youtube Demo Link

Installation #

iOS #

Add these settings to the ios/Runner/Info.plist

<string>Can I use the camera please?</string>
<string>Can I use the mic please?</string>
<string>App need your agree, can visit your album</string>

Android #

Change the minimum Android sdk version to 21 (or higher) in your android/app/build.gradle file.

minSdkVersion 21

Recommended add android:requestLegacyExternalStorage="true" to your AndroidManifest.xml, just like next.

<manifest xmlns:android=""


Usages #

Add to pubspec

  advance_image_picker: $latest_version

Import dart code

import 'package:advance_image_picker/advance_image_picker.dart';

Setting configs & text translate function

// Setup image picker configs (global settings for app)
var configs = ImagePickerConfigs();
configs.appBarTextColor =;
configs.stickerFeatureEnabled = false; // ON/OFF features
configs.translateFunc = (name, value) => Intl.message(value, name: name); // Use intl function

Sample for usage

// Get max 5 images
List<ImageObject> objects =
    await Navigator.of(context).push(
            (context, animation, __) {
  return ImagePicker(maxCount: 5);

if (objects.length > 0) {
  setState(() {
        .map((e) => e.modifiedPath)

Credits #

This software uses the following open source packages:

  • camera
  • photo_manager
  • image_cropper
  • photo_view
  • flutter_native_image
  • image_editor
  • matrix_gesture_detector
  • path_provider
  • image
  • intl

Support #

If this plugin was useful to you, helped you to deliver your app, saved you a lot of time, or you just want to support the project, I would be very grateful if you buy me a cup of coffee.

Buy Me A Coffee

pub points


Flutter plugin in pure Dart code for selecting/editing multiple images from the Android/iOS image library and taking new pictures with the camera in the same view.

Repository (GitHub)
View/report issues


API reference




camera, collection, flutter, flutter_native_image, image, image_cropper, image_editor, intl, matrix_gesture_detector, path_provider, photo_manager, photo_view


Packages that depend on advance_image_picker