# baseflow/photoview

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/baseflow-photoview).**

18,824 stars · 3,909 forks · Java · Apache-2.0

## Links

- GitHub: https://github.com/Baseflow/PhotoView
- Homepage: https://baseflow.com
- awesome-repositories: https://awesome-repositories.com/repository/baseflow-photoview.md

## Description

PhotoView is a reusable Android UI component that provides a zoomable image view. It is designed to handle gesture detection, image scaling, and coordinate tracking for images within Android applications.

The component enables users to enlarge and move images through pinch-to-zoom and panning gestures. It also includes capabilities for image tap detection to facilitate interactive responses.

The library manages image interactions through matrix-based scaling and touch event interception. It includes a system for tracking image transformations and notifying observers when zoom or scroll positions change.

## Tags

### User Interface & Experience

- [Zoomable Image Views](https://awesome-repositories.com/f/user-interface-experience/zoomable-image-views.md) — Enables users to enlarge and move images within a view using pinch and drag touch gestures. ([source](https://github.com/baseflow/photoview#readme))
- [Image Viewers](https://awesome-repositories.com/f/user-interface-experience/image-viewers.md) — Functions as a specialized image viewer for Android that tracks transformations and detects taps.
- [Zoomable View Rendering](https://awesome-repositories.com/f/user-interface-experience/programmatic-element-construction/android-view-lifecycle-tracking/custom-view-rendering/zoomable-view-rendering.md) — Implements a custom Android view that enables pinch-to-zoom and panning for images.
- [Touch Gesture Detectors](https://awesome-repositories.com/f/user-interface-experience/touch-gesture-detectors.md) — Detects and identifies pinch and pan gestures to trigger real-time image transformations.
- [Touch Gesture Handlers](https://awesome-repositories.com/f/user-interface-experience/touch-gesture-handlers.md) — Provides touch event handling to distinguish between parent view scrolling and internal image zooming.
- [Transformation Matrix Scaling](https://awesome-repositories.com/f/user-interface-experience/transformation-matrix-scaling.md) — Manipulates a transformation matrix to handle image scaling and translation without altering the view size.

### Mobile Development

- [Android UI Components](https://awesome-repositories.com/f/mobile-development/android-ecosystem/android-ui-components.md) — Provides a reusable Android UI component for handling complex image interactions and scaling.
- [Android Image Interaction](https://awesome-repositories.com/f/mobile-development/android-image-interaction.md) — Implements zoom and pan gestures for images in Android apps to allow users to see fine details.

### Artificial Intelligence & ML

- [Interaction Tap Detection](https://awesome-repositories.com/f/artificial-intelligence-ml/generative-ai-resources/diffusion-visual-models/generative-ai-pipelines/text-to-image-generators/image-inpainting/image-to-image-diffusion-toolkits/interaction-tap-detection.md) — Provides a capability to trigger notifications when a user taps an image to facilitate interactive responses. ([source](https://github.com/baseflow/photoview#readme))

### Graphics & Multimedia

- [Photo Galleries](https://awesome-repositories.com/f/graphics-multimedia/photo-galleries.md) — Provides the fundamental viewing and zooming capabilities required for building mobile photo gallery experiences.
