Skip to content

Commit

Permalink
Updates README
Browse files Browse the repository at this point in the history
  • Loading branch information
JVillella authored and Hannes Achleitner committed Aug 6, 2015
1 parent ff5c8ee commit 215c523
Show file tree
Hide file tree
Showing 3 changed files with 126 additions and 118 deletions.
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
opyright (c) 2012 Michael Ortiz
Copyright (c) 2012-2015 Michael Ortiz

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

Expand Down
117 changes: 0 additions & 117 deletions README

This file was deleted.

125 changes: 125 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
#Android: TouchImageView

Created by: Mike Ortiz
Contributions by:
* Patrick Lackemacher
* Babay88
* @ipsilondev
* hank-cp
* singpolyma
* JVillella

##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.

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.

<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 `RectF` representing the zoomed image.

RectF getZoomedRect();

Returns `false` if image is in initial, unzoomed state. `True`, otherwise.

boolean isZoomed();

Reset zoom and translation to initial state.

void resetZoom();

Set the max zoom multiplier. Default value is 3.

void setMaxZoom(float max);

Set the min zoom multiplier. Default value is 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);

## License

TouchImageView is available under the MIT license. See the LICENSE file for more info.

0 comments on commit 215c523

Please sign in to comment.