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