Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
G

gesture-imageview

> 编程语言
Open source

Implements pinch-zoom, rotate, pan as an ImageView for Android 2.1+

1.1K stars0 likes0 views
WebsiteGitHub

About

Implements pinch-zoom, rotate, pan as an ImageView for Android 2.1+

GestureImageView

This is a simple Android View class which provides basic pinch and zoom capability for images.

Can be used as a replacement for a standard ImageView when you want to include pinch and zoom.

UPDATE (Aug 2012)

Just a quick note to all those who have posted issues recently, I HAVE seen them but just haven't had a chance
to fix them.  I'll do my best to get to them ASAP.  Thanks for being patient

Features:
~~~~~~~~~
1. Pinch zoom in place (i.e. zoom occurs from point of touch)
2. Panning with fling gesture
3. Double tap zoom
4. Configurable zoom boundaries (min/max)

Limitations:
~~~~~~~~~~~~
1. Does not support Rotation
2. Does not support Pan and Zoom together
3. Not all methods of ImageView class are supported (will throw UnsupportedOperationException if strict is true)

What's New in the Latest Release!
  • Added double-tap zoom support
  • Added support for onClickListener
  • Added support for non-image drawables

New in previous releases

- Added support for CENTER, CENTER_INSIDE and CENTER_CROP scale types
- Added support for custom OnTouchListener on GestureImageView
- Fixed NPE when no drawable set on view
- Fixed/improved calculation of scale limits

Usage
~~~~~

Notes:
------
1. Setting gesture-image:strict to true will result in UnsupportedOperationException if an unsupported method is called.
2. Setting gesture-image:recycle to true will automatically reycle bitmap images when the view is destroyed.

Configured as View in layout.xml
--------------------------------
code::

	

	    
	    	
	
    	
Configured Programmatically
---------------------------
code::    	

	import com.polites.android.GestureImageView;
	
	import android.app.Activity;
	import android.os.Bundle;
	import android.view.ViewGroup;
	import android.widget.LinearLayout.LayoutParams;
	
	public class SampleActivity extends Activity {
	    @Override
	    public void onCreate(Bundle savedInstanceState) {
	        super.onCreate(savedInstanceState);
	        setContentView(R.layout.main);
	        
	        LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
	        
	        GestureImageView view = new GestureImageView(this);
	        view.setImageResource(R.drawable.image);
	        view.setLayoutParams(params);
	        
	        ViewGroup layout = (ViewGroup) findViewById(R.id.layout);
	
	        layout.addView(view);
	    }
	}
	
License
~~~~~~~
`Apache License 2.0 `_

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Java

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言