tigransarkisian / touchimageview Goto Github PK
View Code? Open in Web Editor NEWThis project forked from mikeortiz/touchimageview
Adds touch functionality to Android ImageView.
License: Other
This project forked from mikeortiz/touchimageview
Adds touch functionality to Android ImageView.
License: Other
Android: TouchImageView Created by: Mike Ortiz Contributions by: * Patrick Lackemacher * Babay88 * @ipsilondev * hank-cp * singpolyma Capabilities: ---------------------- TouchImageView extends ImageView and supports all of ImageView’s functionality. In addition, TouchImageView adds pinch zoom, dragging, fling, double tap zoom functionality and other animation polish. The intention is for TouchImageView to mirror as closely as possible the functionality of zoomable images in Gallery apps. Examples: ---------------------- Please view the sample app which includes examples of the following functionality: -Single TouchImageview: basic use of a single TouchImageView. Includes usage of OnTouchImageViewListener, getScrollPosition(), getZoomedRect(), isZoomed(), and getCurrentZoom(). -ViewPager Example: TouchImageViews placed in a ViewPager like the Gallery app. -Mirroring Example: mirror two TouchImageViews using onTouchImageViewListener and setZoom(). -Switch Image Example: Click on TouchImageView to cycle through images. Note that the zoom state is maintained though the images are switched. -Switch ScaleType Example: Click on TouchImageView to cycle through supported ScaleTypes. Limitations: ---------------------- TouchImageView does not yet support pinch image rotation. Also, FIT_START and FIT_END scaleTypes are not yet supported. Support: ---------------------- Minimum API: 8 Contributing: ---------------------- Before creating an issue, please make sure that a ticket is not already open. Also, please check that your issue has not already been fixed in the dev branch. If the issue is reproducible on the dev branch, please provide clear repro instructions in the issue. Last, if you’d like to contribute code, please open all pull requests against the dev branch. Usage: ---------------------- Place TouchImageView.java in your project. It can then be used the same as ImageView. Example: TouchImageView img = (TouchImageView) findViewById(R.id.img); If you are using TouchImageView in xml, then you must provide the full package name, because it is a custom view. Example: <com.example.touch.TouchImageView android:id="@+id/img” android:layout_width="match_parent" android:layout_height="match_parent" /> API: ---------------------- // Get the current zoom. This is the zoom relative to the initial // scale, not the original resource. float getCurrentZoom(); // Get the max zoom multiplier. float getMaxZoom(); // Get the min zoom multiplier. float getMinZoom(); // Return the point at the center of the zoomable image. The PointF coordinates range // in value between 0 and 1 and the focus point is denoted as a fraction from the left // and top of the view. For example, the top left corner of the image would be (0, 0). // And the bottom right corner would be (1, 1). PointF getScrollPosition(); // Return a Rect representing the zoomed image. RectF getZoomedRect(); // Returns false if image is in initial, unzoomed state. False, otherwise. boolean isZoomed(); // Reset zoom and translation to initial state. void resetZoom(); // Set the max zoom multiplier. Default value: 3. void setMaxZoom(float max); // Set the min zoom multiplier. Default value: 1. void setMinZoom(float min); // Set the focus point of the zoomed image. The focus points are denoted as a fraction // from the left and top of the view. The focus points can range in value between 0 and 1. void setScrollPosition(float focusX, float focusY); // Set zoom to the specified scale. Image will be centered by default. void setZoom(float scale); // Set zoom to the specified scale. Image will be centered around the point // (focusX, focusY). These floats range from 0 to 1 and denote the focus point // as a fraction from the left and top of the view. For example, the top left // corner of the image would be (0, 0). And the bottom right corner would be (1, 1). void setZoom(float scale, float focusX, float focusY); // Set zoom to the specified scale. Image will be centered around the point // (focusX, focusY). These floats range from 0 to 1 and denote the focus point // as a fraction from the left and top of the view. For example, the top left // corner of the image would be (0, 0). And the bottom right corner would be (1, 1). void setZoom(float scale, float focusX, float focusY, ScaleType scaleType); // Set zoom parameters equal to another TouchImageView. Including scale, position, // and ScaleType. void setZoom(TouchImageView img);
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.