支持手势拉大和拉小的Android ImageView:GestureImageView

jopen 8年前

GestureImageView实现了一个支持手势缩放,旋转,平移的Android ImageView。
配置成layout.xml中的一个view

<LinearLayout      xmlns:android="http://schemas.android.com/apk/res/android"      xmlns:gesture-image="http://schemas.polites.com/android"      android:layout_width="fill_parent"      android:layout_height="fill_parent">        <com.polites.android.GestureImageView          android:id="@+id/image"          android:layout_width="fill_parent"          android:layout_height="wrap_content"          android:src="@drawable/image"          gesture-image:min-scale="0.1"          gesture-image:max-scale="10.0"          gesture-image:strict="false"/>    </LinearLayout>

编程的方式配置

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);      }  }

特性:

  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)

项目主页:http://www.open-open.com/lib/view/home/1389766177289