bm-x / PhotoView

图片浏览缩放控件
2.63k stars 539 forks source link

ViewPager滑动到下一页如何重置已经放大的PhotoView? #39

Open lk6233160 opened 8 years ago

lk6233160 commented 8 years ago

RT

bm-x commented 8 years ago

重新设置src

MagicKim commented 7 years ago

我也遇到了这个问题,在ViewPager中,放大图片滑动到下一张,上一张还是放大状态。有没有什么方法能够重置状态?

mikilangkilo commented 5 years ago

photoview.java里面添加一下 public void resetView() { mTmpMatrix.reset(); mTmpMatrix.postTranslate(-mBaseRect.left, -mBaseRect.top); mTmpMatrix.postTranslate(mRotateCenter.x, mRotateCenter.y); mTmpMatrix.postTranslate(-mHalfBaseRectWidth, -mHalfBaseRectHeight); mTmpMatrix.postRotate(mDegrees, mRotateCenter.x, mRotateCenter.y); mTmpMatrix.postScale(1, 1, mScaleCenter.x, mScaleCenter.y); mTmpMatrix.postTranslate(mTranslateX, mTranslateY); mTmpMatrix.mapRect(mTmpRect, mBaseRect); doTranslateReset(mTmpRect); mTranslate.withScale(mScale, 1); isZoonUp = false; mTranslate.start(); }

然后viewpager的dapter里面重写一下setPrimaryItem方法获取当前的view,然后在pagechangelistener里面的onpageselected里面获取当前的view转成photoview后然后resetview一下即可

这样dismiss的时候希望恢复原状也可以同样的原理