A Flutter widget for creating zoomable, pan-able images and custom content with extensive customization options.
Flutter Photo View is a Flutter package that provides a zoomable and pan-able widget for displaying images and custom content. It solves the need for interactive image viewing in mobile apps by supporting gestures like pinch, rotate, and drag, and can also render other widgets like SVGs or containers.
Flutter developers building mobile applications that require interactive image viewing, galleries, or custom zoomable content, such as photo apps, e-commerce platforms, or educational tools.
Developers choose Photo View for its ease of use, extensive customization options, and ability to handle not just images but any Flutter widget, making it a versatile solution for creating rich, interactive visual experiences.
📸 Easy to use yet very customizable zoomable image widget for Flutter, Photo View provides a gesture sensitive zoomable widget. Photo View is largely used to show interacive images and other stuff such as SVG.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Setup is straightforward with minimal code, as shown in the README where PhotoView only requires an ImageProvider for instant use.
Can display any Flutter widget, including SVGs and custom containers, enabling flexible use cases beyond standard images.
Includes PhotoViewGallery with smooth transitions and scrolling physics, demonstrated in the example app for multi-image browsing.
Offers controllers like PhotoViewController for real-time zoom state updates and external manipulation, as evidenced by the interactive example GIFs.
Lacks automatic caching for network images, requiring developers to integrate additional packages like cached_network_image for performance optimization.
Using controllers involves stream handling and state management, which can be challenging, as the README provides minimal guidance beyond linking to API docs.
Documentation is basic, forcing users to rely on the example app for complex configurations, which may slow down development for less experienced developers.