English | 简体中文
手势体验极佳且使用简单的图片双指缩放控件。继承自ImageView,仅一个类文件,无外部库依赖,轻量,易于集成。
QQ交流群:1011201647
完整Demo视频:http://v.youku.com/v_show/id_XMTUyOTA0NzI3Ng==.html
- 与ViewPlayer结合,图片不在当前页时预加载缩略图,切换到当前页后切换成高清图。
- 缩略图与大图浏览状态切换动画过渡。
- 超大尺寸图分片加载。
- 长图浏览模式
- 单指滑动
- 单指滑动惯性
- 滑动触及边界停止
- 双击放大缩小
- 双击放大时双击点尽量移动到控件中心
- 双指手势放大缩小,进入缩放模式
- 缩放模式下可以移动图片
- 缩放模式下图片允许移动到边界之外
- 缩放模式下允许图片放大缩小超过边界尺寸
- 退出缩放模式(所有手指抬起),回弹至最近合理位置
- 兼容ImageView API
- 支持图片清晰度切换
- 矩形遮罩
- click,长按事件
- 图片大小位置变化监听
- 获得当前大小以及位置
- 获得当前手势状态
- api执行图片缩放移动动画
- api执行遮罩移动缩放动画
- override设置图片最大放大尺寸
- override设置图片双击之后要放大或缩小到的比例
1) 将PinchImageView.java复制到项目中
2) 在布局文件中添加如下代码,它已经能显示一张资源中的图片了:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.boycy815.pinchimageview.PinchImageView
android:id="@+id/pic"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/my_pic"/>
</RelativeLayout>
3) 直接把它作为ImageView使用:
//作为ImageView取出来
ImageView imageView = (ImageView) findViewById(R.id.pic);
//可以使用任何ImageView支持的方式设置图片
imageView.setImageResource(R.drawable.my_pic);
//or...
imageView.setImageBitmap(bitmap);
//or...
imageView.setImageDrawable(drawable);
//or 你还能使用第三方图片加载库加载图片,如ImageLoader
imageLoader.displayImage("http://host.com/my_pic.jpg", imageView);