Package selection guidance compiled from public package information, community data, and project usage.
Drishya Picker is a Flutter package that provides an assets picker inspired by the camera and gallery interfaces in messaging apps. It enables users to select images and videos with a clean, intuitive interface designed for seamless media integration. Built with Flutter, it supports smooth navigation between camera capture and gallery browsing, making it ideal for chat or social media applications. The package is lightweight and easy to integrate, offering a modern user experience without requiring extensive customization. It currently does not specify platform limitations, suggesting broad compatibility.
Use cases
Chat applications with media sharing
Social media post creation
User profile photo and video uploads
Content creation tools
Media-rich form submissions
Key features
Camera and gallery integration
Messenger-style UI design
Simple integration with Flutter
Lightweight and performant
Intuitive media selection flow
Suitable for
Developers building messaging apps
Apps requiring quick media uploads
UI-focused multimedia pickers
Flutter beginners seeking ready-made components
Projects wanting a native-like picker experience
Considerations
No explicit platform support listed
Limited documentation available
May require additional permissions for camera access
Depends on external dependencies for full functionality
Not yet widely adopted in production environments
Original README
Original README snapshot from the linked source repository. Visit the repository for the latest content.
Drishya Picker
A flutter package which is clone of facebook messenger gallery picker and camera, combined as single component. Gallery view and Camera view can also be use as Flutter widget. Under the hood drishya picker used Photo Manager and Camera.
For more details (if needed) you can go through Photo Manager and Camera readme section as well.
Android
Change the minimum Android sdk version to 21 (or higher) in your android/app/build.gradle file.
minSdkVersion 21
Required permissions: INTERNET, READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE, ACCESS_MEDIA_LOCATION.
If you don't need the ACCESS_MEDIA_LOCATION permission,
see Disable ACCESS_MEDIA_LOCATION permission.
glide
Android native use glide to create image thumb bytes, version is 4.11.0.
If your other android library use the library, and version is not same, then you need edit your android project's build.gradle.
This permission is introduced in Android Q. If your app doesn't need this permission, you need to add the following node to the Android manifest in your app.
If you found some warning logs with Glide appearing,
then the main project needs an implementation of AppGlideModule.
See Generated API.
IOS
Add following content to info.plist.
<key>NSPhotoLibraryUsageDescription</key><string>Replace with your permission description..</string><key>NSCameraUsageDescription</key><string>Replace with your permission description..</string><key>NSMicrophoneUsageDescription</key><string>Replace with your permission description..</string>
Gallery
Use SlidableGallery to make gallery view slidable otherwise ignore it.
Using GalleryViewField similarly to flutter TextField to pick media. (Recommended approach, as creating and disposing of the controller has been already cared-of )
onChanged – triggered whenever a user select/unselect media
onSubmitted – triggered when a user is done with the selection
If you encounter any problems feel free to open an issue. If you feel the library is missing a feature, please raise a ticket on GitHub and I'll look into it. Pull request are also welcome.