Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/natario1/zoomlayout
2D zoom and pan behavior for View hierarchies, images, video streams, and much more, written in Kotlin for Android.
https://github.com/natario1/zoomlayout
2d android android-library imageview kotlin kotlin-library opengl opengl-es pan pinch-to-zoom surface touch-events zoom-engine zoom-images zooming-panning-moving
Last synced: 2 days ago
JSON representation
2D zoom and pan behavior for View hierarchies, images, video streams, and much more, written in Kotlin for Android.
- Host: GitHub
- URL: https://github.com/natario1/zoomlayout
- Owner: natario1
- License: apache-2.0
- Created: 2017-09-27T13:21:11.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2023-01-30T11:04:20.000Z (almost 2 years ago)
- Last Synced: 2025-01-19T02:06:09.691Z (2 days ago)
- Topics: 2d, android, android-library, imageview, kotlin, kotlin-library, opengl, opengl-es, pan, pinch-to-zoom, surface, touch-events, zoom-engine, zoom-images, zooming-panning-moving
- Language: Kotlin
- Homepage: https://natario1.github.io/ZoomLayout
- Size: 44.3 MB
- Stars: 1,062
- Watchers: 27
- Forks: 149
- Open Issues: 27
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
[![Build Status](https://github.com/natario1/ZoomLayout/workflows/Build/badge.svg?event=push)](https://github.com/natario1/ZoomLayout/actions)
[![Release](https://img.shields.io/github/release/natario1/ZoomLayout.svg)](https://github.com/natario1/ZoomLayout/releases)
[![Issues](https://img.shields.io/github/issues-raw/natario1/ZoomLayout.svg)](https://github.com/natario1/ZoomLayout/issues)⠀
*Need support, consulting, or have any other business-related question? Feel free to get in touch.*
*Like the project, make profit from it, or simply want to thank back? Please consider [sponsoring](https://github.com/sponsors/natario1)!*
# ZoomLayout
A collection of flexible Android components that support zooming and panning of View hierarchies,
images, video streams, and much more - either programmatically or through touch events.```kotlin
implementation("com.otaliastudios:zoomlayout:1.9.0")
```- `ZoomLayout`: a container that supports 2D pan and zoom to a View hierarchy, even supporting clicks [[docs]](https://natario1.github.io/ZoomLayout/docs/zoom-layout)
- `ZoomImageView`: (yet another) ImageView that supports 2D pan and zoom [[docs]](https://natario1.github.io/ZoomLayout/docs/zoom-image)
- `ZoomSurfaceView`: A SurfaceView that supports 2D pan and zoom with OpenGL rendering [[docs]](https://natario1.github.io/ZoomLayout/docs/zoom-surface)
- Powerful zoom APIs [[docs]](https://natario1.github.io/ZoomLayout/docs/zoom-apis)
- Powerful pan APIs [[docs]](https://natario1.github.io/ZoomLayout/docs/pan-apis)
- Lightweight, no dependencies
- Works down to API 16In fact, `ZoomLayout`, `ZoomImageView` and `ZoomSurfaceView` are just very simple implementations of the
internal `ZoomEngine` [[docs]](https://natario1.github.io/ZoomLayout/docs/zoom-engine). The zoom engine lets you animate everything through
constant updates, as long as you feed it with touch events, with a `Matrix`-based mechanism
that makes it very flexible.⠀
⠀
## Support
If you like the project, make profit from it, or simply want to thank back, please consider
[supporting it](https://github.com/natario1/ZoomLayout/issues/125) through the GitHub Sponsors program!
You can have your company logo here, get private support hours or simply help me push this forward.Feel free to contact me for support, consulting or any
other business-related question.## Setup
Please read the [official website](https://natario1.github.io/ZoomLayout) for setup instructions and documentation.
You might also be interested in our [changelog](https://natario1.github.io/ZoomLayout/about/changelog).```xml
```