1.在module 的build.gradle文件下加入依赖
dependencies { implementation fileTree(dir: 'libs', include: ['*.jar'])' implementation 'com.github.chrisbanes:PhotoView:2.0.0' }
2.使用
(1)xml文件中布局
<com.github.chrisbanes.photoview.PhotoView android:id="@+id/photo_view" android:layout_width="match_parent" android:layout_height="match_parent" />
(2)代码中使用(效果:双击或双指拉图片会放大)
photoView = findViewById(R.id.photo_view); //设置一张图片 photoView.setImageResource(R.mipmap.fj);
2-------------------------------------
另一个库加入了缩放、旋转的功能
首先加入依赖:
compile 'com.bm.photoview:library:1.4.1'
使用也是类似:<com.bm.library.PhotoView android:id="@+id/zoom_photo_view" android:layout_width="match_parent" android:layout_height="match_parent" />代码里找到控件设置图片资源:
zoomPhotoView.setImageResource(R.mipmap.fj); zoomPhotoView.enable();//启用缩放功能
此时图片可以任意缩放旋转。
3--------------------
类似朋友圈,点击图片后放大显示
img为小图,zoomPhotoView为放大后的图
img2.animaFrom(img.getinfo());//图2是从图1变化过来的
img2.animaTo( img.getinfo() );//点击后 图2 从当前位置变回到图1位置
img.setImageResource(R.mipmap.fj); zoomPhotoView.setImageResource(R.mipmap.fj); img.disenable(); zoomPhotoView.disenable();//关闭缩放功能
img.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { img.setVisibility(View.GONE); zoomPhotoView.setVisibility(View.VISIBLE); //获取img的信息 info = img.getInfo(); //zoomPhotoView 从img1变换到当前位置 zoomPhotoView.animaFrom(info); } }); zoomPhotoView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //从当前位置变回到img的位置 zoomPhotoView.animaTo(info, new Runnable() { @Override public void run() { zoomPhotoView.setVisibility(View.GONE); img.setVisibility(View.VISIBLE); } }); } });