开源库PhotoView的使用

时间:2021-01-14 16:57:04

Android PhotoView的基本功能简介

图片浏览查看
双指缩放
单点触摸缩放
图片缩放模式设置

PhotoView的简介:
这是一个图片查看库,实现图片浏览功能,支持pinch(捏合)手势或者点击放大缩小。支持在ViewPager中翻页浏览图片。
PhotoView 是一款扩展自Android ImageView ,支持通过单点/多点触摸来进行图片缩放的智能控件。功能实用和强大。

基本用法:
导入jar包,布局XML里设置PhotoView
将ImageView传入PhotoViewAttacher

代码演示:
使用 PhotoView进行网络图片和本地图片的加载,缩放和点击事件处理

</pre><pre name="code" class="java"><span style="font-family: Arial, Helvetica, sans-serif;">/**</span>
 * PhotoView加载本地图片 *  * PhotoView进行缩放处理 *  * @author Administrator *  */public class MainActivity extends Activity {private PhotoView iv_photo;private PhotoViewAttacher attacher;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);iv_photo = (PhotoView) findViewById(R.id.iv_photo);attacher = new PhotoViewAttacher(iv_photo);// 实例化PhotoViewAttacher// 加载本地图片,缩放处理try {InputStream is = getAssets().open("photoview.jpg");// 在asset资源目录下放置一张照片,转化为流Bitmap bm = BitmapFactory.decodeStream(is);// 将流转化成bitmapiv_photo.setImageBitmap(bm);// 设置图片} catch (IOException e) {e.printStackTrace();}}}

以上为加载本地图片,接着进行加载网络图片url

首先声明网络权限

<uses-permission android:name="android.permission.INTERNET"/>

/**
* 加载网络图片
*
* PhotoView进行缩放处理
*
* @author Administrator
*
*/

public class MainActivity extends Activity {
private PhotoView iv_photo;
private PhotoViewAttacher attacher;
private ImageLoader loader;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv_photo = (PhotoView) findViewById(R.id.iv_photo);
attacher = new PhotoViewAttacher(iv_photo);
// 加载网络图片
loader = ImageLoader.getInstance();
loader.displayImage("https://www.baidu.com/img/bdlogo.png", iv_photo);//加载的百度logo
//点击事件
iv_photo.setOnPhotoTapListener(new OnPhotoTapListener() {

@Override
public void onPhotoTap(View arg0, float arg1, float arg2) {

}
});
}
}
项目

点击打开链接

项目所用jar包

点击打开链接