MCPcopy Index your code
hub / github.com/alexvasilkov/GestureViews

github.com/alexvasilkov/GestureViews @v2.10.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.10.0 ↗ · + Follow
1,034 symbols 2,984 edges 103 files 243 documented · 24%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

GestureViews

Maven

ImageView and FrameLayout with gestures control and position animation.

Main goal of this library is to make images viewing process as smooth as possible and to make it easier for developers to integrate it into their apps.

Features

  • Gestures support: pan, zoom, quick scale, fling, double tap, rotation.
  • Seamless integration with ViewPager (panning smoothly turns into ViewPager flipping and vise versa).
  • View position animation ("opening" animation). Useful to animate into full image view mode.
  • Advanced animation from RecyclerView (or ListView) into ViewPager.
  • Exit full image mode by scroll and scale gestures.
  • Rounded images with animations support.
  • Image cropping (supports rotation).
  • Lots of settings.
  • Gestures listener: down (touch), up (touch), single tap, double tap, long press.
  • Custom state animation (animating position, zoom, rotation).
  • Supports both ImageView and FrameLayout out of the box, also supports custom views.

Demo video

YouTube

Demo video

Usage

Add dependency to your build.gradle file:

implementation 'com.alexvasilkov:gesture-views:2.10.0'

Usage wiki

Javadoc

Sample app sources

License

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 885
Class 120
Interface 23
Enum 6

Languages

Java100%

Modules by API surface

library/src/main/java/com/alexvasilkov/gestures/GestureController.java84 symbols
library/src/main/java/com/alexvasilkov/gestures/Settings.java63 symbols
library/src/main/java/com/alexvasilkov/gestures/animation/ViewPositionAnimator.java39 symbols
sample/src/main/java/com/alexvasilkov/gestures/sample/demo/DemoActivity.java27 symbols
library/src/main/java/com/alexvasilkov/gestures/GestureControllerForPager.java26 symbols
sample/src/main/java/com/alexvasilkov/gestures/sample/demo/adapter/PhotoPagerAdapter.java25 symbols
library/src/main/java/com/alexvasilkov/gestures/transition/ViewsCoordinator.java24 symbols
library/src/main/java/com/alexvasilkov/gestures/transition/ViewsTransitionAnimator.java22 symbols
library/src/main/java/com/alexvasilkov/gestures/internal/ExitController.java22 symbols
library/src/main/java/com/alexvasilkov/gestures/commons/CropAreaView.java21 symbols
library/src/main/java/com/alexvasilkov/gestures/State.java21 symbols
sample/src/main/java/com/alexvasilkov/gestures/sample/ex/ExamplesActivity.java20 symbols

For agents

$ claude mcp add GestureViews \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page