diff --git a/app/src/main/java/com/gh/common/util/ImageUtils.kt b/app/src/main/java/com/gh/common/util/ImageUtils.kt index 77b4a89e91..eaea4d58e2 100644 --- a/app/src/main/java/com/gh/common/util/ImageUtils.kt +++ b/app/src/main/java/com/gh/common/util/ImageUtils.kt @@ -20,6 +20,7 @@ import com.facebook.imagepipeline.request.ImageRequest import com.facebook.imagepipeline.request.ImageRequestBuilder import com.gh.common.constant.Config import com.gh.gamecenter.R +import com.lightgame.utils.Utils object ImageUtils { @@ -114,6 +115,8 @@ object ImageUtils { onLoadListener?.onLoadFinal(imageInfo) } } + + Utils.log("=======newUrl::" + newUrl) draweeView?.controller = Fresco.newDraweeControllerBuilder() .setUri(newUrl) .setControllerListener(listener) @@ -225,7 +228,7 @@ object ImageUtils { // 规则 width>0 Wifi:x2 traffic:x1 @JvmStatic fun display(view: SimpleDraweeView, url: String?) { - view.post { + view.postDelayed({ var transformUrl = url val width = view.width if (width > 0) { @@ -235,7 +238,7 @@ object ImageUtils { transformUrl = transformUrlX2 } else { // 检查X2大图是否被缓存 - if (Fresco.getImagePipeline().isInBitmapMemoryCache(Uri.parse(transformUrlX2))) { + if (Fresco.getImagePipeline().isInBitmapMemoryCache(ImageRequest.fromUri(transformUrlX2))) { transformUrl = transformUrlX2 } else { transformUrl = transformUrlX1 @@ -244,7 +247,7 @@ object ImageUtils { } view.setImageURI(transformUrl) // Utils.log("display::viewWidth->" + view.width + "----transformUrl->" + transformUrl) - } + }, 100) } // 规则 width>0 Wifi:x2 traffic:x2 diff --git a/app/src/main/java/com/gh/common/util/QiYuImageLoader.java b/app/src/main/java/com/gh/common/util/QiYuImageLoader.java index db20fa0ee2..d012420190 100644 --- a/app/src/main/java/com/gh/common/util/QiYuImageLoader.java +++ b/app/src/main/java/com/gh/common/util/QiYuImageLoader.java @@ -31,7 +31,7 @@ public class QiYuImageLoader implements UnicornImageLoader { public Bitmap loadImageSync(String uri, int width, int height) { Bitmap resultBitmap = null; ImagePipeline imagePipeline = Fresco.getImagePipeline(); - boolean inMemoryCache = imagePipeline.isInBitmapMemoryCache(Uri.parse(uri)); + boolean inMemoryCache = imagePipeline.isInBitmapMemoryCache(ImageRequest.fromUri(uri)); if (inMemoryCache) { ImageRequestBuilder builder = ImageRequestBuilder.newBuilderWithSource(Uri.parse(uri)); if (width > 0 && height > 0) { diff --git a/app/src/main/java/com/gh/gamecenter/ViewImageActivity.java b/app/src/main/java/com/gh/gamecenter/ViewImageActivity.java index 6c50f63afe..d603429e2a 100644 --- a/app/src/main/java/com/gh/gamecenter/ViewImageActivity.java +++ b/app/src/main/java/com/gh/gamecenter/ViewImageActivity.java @@ -165,6 +165,7 @@ public class ViewImageActivity extends BaseActivity implements OnPageChangeListe int position = mViewPager.getCurrentItem(); Object object = mViewPager.findViewWithTag(position); if (object != null) { + mProgressHint.setWidth(mProgressHint.getWidth()); RelativeLayout view = (RelativeLayout) object; final ZoomSimpleDraweeView draweeView = view.findViewById(R.id.viewimage_iv_show); draweeView.getHierarchy().setProgressBarImage(new EmptyDrawable(progress -> { @@ -213,12 +214,17 @@ public class ViewImageActivity extends BaseActivity implements OnPageChangeListe mSlideLine.setLayoutParams(rparams); mProgressHint.setVisibility(View.GONE); } else { - ImageInfoEntity imageInfoEntity = mImageInfoMap.get(urls.get(position)); - if (imageInfoEntity != null && imageInfoEntity.getFileSize() != null) { + String url = urls.get(position); + ImageInfoEntity imageInfoEntity = mImageInfoMap.get(url); + if (imageInfoEntity != null && imageInfoEntity.getFileSize() != null && + !mImagePipeline.isInBitmapMemoryCache(ImageRequest.fromUri(url))) { String size = String.format(Locale.CHINA, "%.1fM", Integer.valueOf(imageInfoEntity.getFileSize().getValue()) / 1024F / 1024F); mProgressHint.setVisibility(View.VISIBLE); mProgressHint.setText(("查看原图(" + size + ")")); + ViewGroup.LayoutParams layoutParams = mProgressHint.getLayoutParams(); + layoutParams.width = ViewGroup.LayoutParams.WRAP_CONTENT; + mProgressHint.setLayoutParams(layoutParams); } } @@ -275,7 +281,7 @@ public class ViewImageActivity extends BaseActivity implements OnPageChangeListe .build(); imageView.setController(controller); } else { - ImageUtils.display(imageView, url); + imageView.setImageURI(url); // 加载原图 } } @@ -297,7 +303,7 @@ public class ViewImageActivity extends BaseActivity implements OnPageChangeListe Gh_RelativeLayout view = (Gh_RelativeLayout) View.inflate(container.getContext(), R.layout.viewimage_normal_item, null); ZoomSimpleDraweeView imageView = view.findViewById(R.id.viewimage_iv_show); - if (mImagePipeline.isInBitmapMemoryCache(Uri.parse(url)) || url.contains(".gif")) { + if (mImagePipeline.isInBitmapMemoryCache(ImageRequest.fromUri(url)) || url.contains(".gif")) { // NetworkUtils.isWifiOr4GConnected(ViewImageActivity.this) loadImage(url, imageView); } else { ImageUtils.addLimitWidthAndLoad(imageView, url, mLimitWidth, imageInfo -> { @@ -350,9 +356,9 @@ public class ViewImageActivity extends BaseActivity implements OnPageChangeListe String limitUrl = ImageUtils.addLimitWidth(urls.get(mViewPager.getCurrentItem()), mLimitWidth); String targetUrl = null; - if (mImagePipeline.isInBitmapMemoryCache(Uri.parse(url))) { + if (mImagePipeline.isInBitmapMemoryCache(ImageRequest.fromUri(url))) { targetUrl = url; - } else if (mImagePipeline.isInBitmapMemoryCache(Uri.parse(limitUrl))) { + } else if (mImagePipeline.isInBitmapMemoryCache(ImageRequest.fromUri(limitUrl))) { targetUrl = limitUrl; } diff --git a/app/src/main/res/layout/activity_viewimage.xml b/app/src/main/res/layout/activity_viewimage.xml index 1633866a91..2d1c16c97a 100644 --- a/app/src/main/res/layout/activity_viewimage.xml +++ b/app/src/main/res/layout/activity_viewimage.xml @@ -21,13 +21,15 @@