框架地址---點我
介紹:框架核心類PhotoView繼承ImageView,它根據用戶手勢的不同,給圖片做出相應的縮放,平移等動作。
使用步驟:
1.在project的build.gradle中添加如下:
allprojects {
repositories {
jcenter()
maven { url "https://jitpack.io" }
}
}
2.在app的build.gradle中添加依賴:
1).如果你想依賴的是1.x版本:
implementation 'com.github.chrisbanes:PhotoView:1.x'(x請自己替換掉)
2).如果你想依賴的是2.x版本:
implementation 'com.github.chrisbanes:PhotoView:2.x'(x請自己替換掉)
然后sync now.
3.xml布局如下:
針對1.x版本:
<uk.co.senab.photoview.PhotoView
android:id="@+id/photoview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
針對2.x版本:
<com.github.chrisbanes.photoview.PhotoView
android:id="@+id/photoview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
4.在activity的代碼:
public class PhotoViewActivity extends AppCompatActivity {
private PhotoView mPhotoView;
//private PhotoViewAttacher mAttacher;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_photo_view);
mPhotoView= (PhotoView) findViewById(R.id.photoview);
//mAttacher=new PhotoViewAttacher(mPhotoView);
mPhotoView.setImageResource(R.mipmap.a);
//mAttacher.update();
//顯示網絡圖片時需要配合Glide等網絡框架的支持
//點擊圖片時退出
photoView.setOnPhotoTapListener(new OnPhotoTapListener() {
@Override
public void onPhotoTap(ImageView view, float x, float y) {
ActivityCompat.finishAfterTransition(activity);
}
});
}
}
5.完結語:
如果有更深自己層次的了解的大佬,歡迎留言互動哦,不足之處歡迎指出。