PhotoView+Viewpager切换下一页前一页恢复原本大小

            @Override
            public void onPageSelected(int position) {
               //获取子页面数量
                int childCount=mViewPager.getChildCount();
                for (int i=0;i<childCount;i++){
              //获取当前页面的view
                    View child=mViewPager.getChildAt(i);
       //获取当前页面中的PhotoView 
             PhotoView photoView=child.findViewById(R.id.prePhotoView);
                    if (photoView != null) {
              //获取photoView创建的PhotoViewAttacher
                        PhotoViewAttacher photoViewAttacher= (PhotoViewAttacher) photoView.getIPhotoViewImplementation();
               //通过photoViewAttacher设置缩放大小
              //第一个参数是获取photoViewAttacher自带的缩放大小最小值,第二个和第三个参数设置缩放中心
                        photoViewAttacher.setScale(photoViewAttacher.getMinimumScale(), 0f, 0f, true);
                    }
                }
            }

PhotoView使用:
引入依赖:

implementation 'com.github.chrisbanes:PhotoView:1.3.1'

build.gradle中加入:

allprojects {
    repositories {
        jcenter()
        maven { url "https://jitpack.io" }
    }
}

添加布局:


<uk.co.senab.photoview.PhotoView
  android:id="@+id/photoView"
  android:layout_width="180dp"
  android:layout_height="140dp"
  android:background="#333333"
  android:layout_marginLeft="20dp"
  />

设置点击事件:

          photoView.setOnPhotoTapListener(new PhotoViewAttacher.OnPhotoTapListener() {

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

                @Override
                public void onOutsidePhotoTap() {
                }
            });
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容