Fix image crash

pull/183/head
FongMi 2 years ago
parent efe2208d79
commit 80ace32dc1
  1. 2
      app/src/main/java/com/fongmi/android/tv/utils/ImgUtil.java
  2. 29
      app/src/mobile/java/com/fongmi/android/tv/ui/holder/VodFullHolder.java
  3. 6
      app/src/mobile/res/layout/adapter_vod_full.xml

@ -65,7 +65,7 @@ public class ImgUtil {
else Glide.with(App.get()).asBitmap().load(url).skipMemoryCache(true).dontAnimate().signature(new ObjectKey(url)).error(R.drawable.ic_img_empty).into(view);
}
private static Object getUrl(String url) {
public static Object getUrl(String url) {
String param = null;
url = Utils.convert(url);
if (url.startsWith("data:")) return url;

@ -1,7 +1,18 @@
package com.fongmi.android.tv.ui.holder;
import android.graphics.drawable.Drawable;
import android.widget.ImageView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.DataSource;
import com.bumptech.glide.load.engine.GlideException;
import com.bumptech.glide.request.RequestListener;
import com.bumptech.glide.request.target.Target;
import com.fongmi.android.tv.App;
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;
@ -18,6 +29,22 @@ public class VodFullHolder extends BaseVodHolder {
@Override
public void initView(Vod item) {
ImgUtil.load(item.getVodPic(), binding.image);
Glide.with(App.get()).load(ImgUtil.getUrl(item.getVodPic())).dontAnimate().listener(getListener(binding.image)).into(binding.image);
}
private RequestListener<Drawable> getListener(ImageView view) {
return new RequestListener<>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
view.setScaleType(ImageView.ScaleType.CENTER);
view.setImageResource(R.drawable.ic_img_error);
return true;
}
@Override
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
return false;
}
};
}
}

@ -6,13 +6,11 @@
android:layout_marginStart="-8dp"
android:layout_marginEnd="-8dp">
<com.google.android.material.imageview.ShapeableImageView
<com.github.chrisbanes.photoview.PhotoView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:background="@color/black_20"
android:scaleType="center"
tools:src="@drawable/ic_img_loading" />
android:scaleType="fitCenter" />
</FrameLayout>
Loading…
Cancel
Save