From 2dc6faf27abcccca0baf4edd5fe2c8218b1b4820 Mon Sep 17 00:00:00 2001 From: Drizzle Date: Mon, 7 Nov 2016 13:37:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9F=90=E4=BA=9B=E6=9C=BA=E5=9E=8B=E8=AE=BE?= =?UTF-8?q?=E7=BD=AEScaleType.FIT=5FCENTER=E6=97=B6=E4=B8=8D=E7=94=9F?= =?UTF-8?q?=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/bm/library/PhotoView.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/library/src/main/java/com/bm/library/PhotoView.java b/library/src/main/java/com/bm/library/PhotoView.java index c59687b..f26afe6 100644 --- a/library/src/main/java/com/bm/library/PhotoView.java +++ b/library/src/main/java/com/bm/library/PhotoView.java @@ -397,14 +397,18 @@ private void initCenterInside() { } private void initFitCenter() { - if (mImgRect.width() < mWidgetRect.width()) { - mScale = mWidgetRect.width() / mImgRect.width(); - - mAnimaMatrix.postScale(mScale, mScale, mScreenCenter.x, mScreenCenter.y); - - executeTranslate(); - resetBase(); + if (mImgRect.width() >= mImgRect.height()) { + if (mImgRect.width() < mWidgetRect.width()) { + mScale = mWidgetRect.width() / mImgRect.width(); + } + } else { + if (mImgRect.height() < mWidgetRect.height()) { + mScale = mWidgetRect.height() / mImgRect.height(); + } } + mAnimaMatrix.postScale(mScale, mScale, mScreenCenter.x, mScreenCenter.y); + executeTranslate(); + resetBase(); } private void initFitStart() {