ZoomLayout | 2D zoom and pan behavior for View hierarchies, images, video streams, and much more, written in Kotl | Android library

 by   natario1 Kotlin Version: 1.9.0 License: Apache-2.0

kandi X-RAY | ZoomLayout Summary

kandi X-RAY | ZoomLayout Summary

ZoomLayout is a Kotlin library typically used in Mobile, Android applications. ZoomLayout has no bugs, it has no vulnerabilities, it has a Permissive License and it has medium support. You can download it from GitHub.

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. In fact, ZoomLayout, ZoomImageView and ZoomSurfaceView are just very simple implementations of the internal ZoomEngine [docs]. 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
    Quality
      Security
        License
          Reuse

            kandi-support Support

              ZoomLayout has a medium active ecosystem.
              It has 918 star(s) with 143 fork(s). There are 25 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 21 open issues and 140 have been closed. On average issues are closed in 81 days. There are 1 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of ZoomLayout is 1.9.0

            kandi-Quality Quality

              ZoomLayout has 0 bugs and 0 code smells.

            kandi-Security Security

              ZoomLayout has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              ZoomLayout code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              ZoomLayout is licensed under the Apache-2.0 License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              ZoomLayout releases are available to install and integrate.
              Installation instructions, examples and code snippets are available.
              It has 4926 lines of code, 243 functions and 48 files.
              It has medium code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of ZoomLayout
            Get all kandi verified functions for this library.

            ZoomLayout Key Features

            No Key Features are available at this moment for ZoomLayout.

            ZoomLayout Examples and Code Snippets

            No Code Snippets are available at this moment for ZoomLayout.

            Community Discussions

            QUESTION

            Manifest merger failed : Attribute application@appComponentFactory after add Exoplayer 2.10.5
            Asked 2020-May-13 at 11:45

            In my project After add Exoplayer 2.10.5 in my app.gradle file I get this error:

            my gradle version is 3.5.2

            ...

            ANSWER

            Answered 2020-May-13 at 11:45

            Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91 is also present at [androidx.core:core:1.0.1] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory). Suggestion: add 'tools:replace="android:appComponentFactory"' to element at AndroidManifest.xml:25:5-171:19 to override.

            My Suggestion is - Move to AndroidX. You can migrate an existing project to AndroidX by selecting Refactor > Migrate to AndroidX from the menu bar.

            Upgrade to

            Source https://stackoverflow.com/questions/61773585

            QUESTION

            Get the coordinates of visible part of screen when zoomed in
            Asked 2020-May-12 at 13:34

            I'm using a custom lib that implements a zoomable, pinchable and scrollable layout, but I when I zoom the layout in, I cant get the coordinates of the visible part. Is there a way of doing that? Android documentation explains nothing about viewport.

            This pictures has an example. The rectangle in the left is my layout. When I zoom it, the user will only see the smaller one, but it will fill all the screen. How can I get the coordinates of the small rectangle (in red)?

            ...

            ANSWER

            Answered 2020-May-12 at 13:34

            So I'm not the library's true user that I don't know actual answer. But I myself do similar thing as the library in my custom ImageView. So I can suggest somewhat. Please try and examine later by yourself.

            The library has those Pan APIs. I think by using either getPan()/getPanX()/getPanY() or getScaledPan()/getScaledPanX()/getScaledPanY() you can get the left-top point's coordinates. (Maybe, the latter scaled ones are what you want?)

            Once you get the left-top point's coordinates, you can calculate the others by the rectangle's width and height.

            To know width and height, you can reverse-calculate from your ImageView's width and height, and current scale factor.

            To know the width and height of your ImageView, use getWidth() and getHeight().

            To know the current scale factor of the library, either getZoom() or getRealZoom() of Zoom APIs should be usable.

            Then, divide ImageView's width or height by the current scale factor and you get the rectangle's width or height.

            At last, based on the left-top point's coordinates, left-bottom point is plus height, right-top point is plus width and right-bottom point is plus width and height.

            Sample Code

            layout/activity_main.xml:

            Source https://stackoverflow.com/questions/61689607

            QUESTION

            What does `class C(val field: T): T by field` mean?
            Asked 2020-May-01 at 07:11

            I recently came across the following class declaration:

            ...

            ANSWER

            Answered 2020-May-01 at 07:11

            This is called delegation, specifically it is a type of delegation known as implementation by delegation.

            By doing this, the class C implements the interface using the other object.

            i.e. when you call the method (function) defined in the interface then the call is going to get transferred to the object you delegated in your case it is the field

            Source https://stackoverflow.com/questions/61167634

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install ZoomLayout

            Please read the official website for setup instructions and documentation. You might also be interested in our changelog.

            Support

            If you like the project, make profit from it, or simply want to thank back, please consider supporting it 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.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            Install
            Maven
            Gradle
            CLONE
          • HTTPS

            https://github.com/natario1/ZoomLayout.git

          • CLI

            gh repo clone natario1/ZoomLayout

          • sshUrl

            git@github.com:natario1/ZoomLayout.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link