diff --git a/app/src/main/java/com/fongmi/android/tv/utils/ImgUtil.java b/app/src/main/java/com/fongmi/android/tv/utils/ImgUtil.java index 51e463f1f..960a888fa 100644 --- a/app/src/main/java/com/fongmi/android/tv/utils/ImgUtil.java +++ b/app/src/main/java/com/fongmi/android/tv/utils/ImgUtil.java @@ -41,10 +41,15 @@ public class ImgUtil { else Glide.with(App.get()).load(getUrl(url)).error(error).dontAnimate().into(target); } + public static void load(String url, ImageView view, CustomTarget target) { + if (TextUtils.isEmpty(url)) view.setImageResource(R.drawable.ic_img_error); + else Glide.with(App.get()).asBitmap().load(getUrl(url)).error(R.drawable.ic_img_error).placeholder(R.drawable.ic_img_loading).skipMemoryCache(true).dontAnimate().signature(new ObjectKey(url + "_" + Setting.getQuality())).into(target); + } + public static void load(String url, ImageView view, ImageView.ScaleType scaleType) { view.setScaleType(scaleType); if (TextUtils.isEmpty(url)) view.setImageResource(R.drawable.ic_img_error); - else Glide.with(App.get()).asBitmap().load(getUrl(url)).skipMemoryCache(true).dontAnimate().sizeMultiplier(Setting.getThumbnail()).signature(new ObjectKey(url + "_" + Setting.getQuality())).placeholder(R.drawable.ic_img_loading).listener(getListener(view, scaleType)).into(view); + else Glide.with(App.get()).asBitmap().load(getUrl(url)).placeholder(R.drawable.ic_img_loading).skipMemoryCache(true).dontAnimate().sizeMultiplier(Setting.getThumbnail()).signature(new ObjectKey(url + "_" + Setting.getQuality())).listener(getListener(view, scaleType)).into(view); } public static void loadKeep(String url, ImageView view) { @@ -62,7 +67,7 @@ public class ImgUtil { public static void loadLive(String url, ImageView view) { view.setVisibility(TextUtils.isEmpty(url) ? View.GONE : View.VISIBLE); if (TextUtils.isEmpty(url)) view.setImageResource(R.drawable.ic_img_empty); - else Glide.with(App.get()).asBitmap().load(url).skipMemoryCache(true).dontAnimate().signature(new ObjectKey(url)).error(R.drawable.ic_img_empty).into(view); + else Glide.with(App.get()).asBitmap().load(url).error(R.drawable.ic_img_empty).skipMemoryCache(true).dontAnimate().signature(new ObjectKey(url)).into(view); } public static Object getUrl(String url) { diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/holder/VodFullHolder.java b/app/src/mobile/java/com/fongmi/android/tv/ui/holder/VodFullHolder.java index 4c7690f50..7e2e846cd 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/holder/VodFullHolder.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/holder/VodFullHolder.java @@ -1,9 +1,15 @@ package com.fongmi.android.tv.ui.holder; -import android.view.View; +import android.graphics.Bitmap; +import android.graphics.drawable.Drawable; +import android.widget.ImageView; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import com.bumptech.glide.request.target.CustomTarget; +import com.bumptech.glide.request.transition.Transition; +import com.fongmi.android.tv.R; import com.fongmi.android.tv.bean.Vod; import com.fongmi.android.tv.databinding.AdapterVodFullBinding; import com.fongmi.android.tv.ui.base.BaseVodHolder; @@ -20,7 +26,22 @@ public class VodFullHolder extends BaseVodHolder { @Override public void initView(Vod item) { - ImgUtil.load(item.getVodPic(), binding.image); - binding.image.setLayerType(View.LAYER_TYPE_SOFTWARE, null); + ImgUtil.load(item.getVodPic(), binding.image, new CustomTarget<>() { + @Override + public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition transition) { + binding.image.setScaleType(ImageView.ScaleType.FIT_CENTER); + binding.image.setImageBitmap(resource); + } + + @Override + public void onLoadFailed(@Nullable Drawable errorDrawable) { + binding.image.setScaleType(ImageView.ScaleType.CENTER); + binding.image.setImageResource(R.drawable.ic_img_error); + } + + @Override + public void onLoadCleared(@Nullable Drawable placeholder) { + } + }); } } diff --git a/app/src/mobile/res/layout/adapter_vod_full.xml b/app/src/mobile/res/layout/adapter_vod_full.xml index 78cba9518..2408a0297 100644 --- a/app/src/mobile/res/layout/adapter_vod_full.xml +++ b/app/src/mobile/res/layout/adapter_vod_full.xml @@ -1,5 +1,6 @@ + android:scaleType="center" + tools:src="@drawable/ic_img_loading" /> \ No newline at end of file