From 545ce4665c1d506393908b55aafd681a45c774e6 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 02 四月 2021 19:14:22 +0800
Subject: [PATCH] 3.9.0bug优化

---
 BuWanVideo/src/com/weikou/beibeivideo/util/video/VideoUIUtil.java |   57 +++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 43 insertions(+), 14 deletions(-)

diff --git a/BuWanVideo/src/com/weikou/beibeivideo/util/video/VideoUIUtil.java b/BuWanVideo/src/com/weikou/beibeivideo/util/video/VideoUIUtil.java
index e3dc26b..0d05b64 100644
--- a/BuWanVideo/src/com/weikou/beibeivideo/util/video/VideoUIUtil.java
+++ b/BuWanVideo/src/com/weikou/beibeivideo/util/video/VideoUIUtil.java
@@ -2,15 +2,28 @@
 
 import android.content.Context;
 import android.graphics.Typeface;
+import android.graphics.drawable.Drawable;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
 import android.text.SpannableString;
 import android.text.Spanned;
 import android.text.style.AbsoluteSizeSpan;
 import android.text.style.StyleSpan;
+import android.util.Log;
 import android.view.View;
+import android.view.ViewGroup;
+import android.widget.LinearLayout;
 
 import com.bumptech.glide.Glide;
+import com.bumptech.glide.load.DataSource;
+import com.bumptech.glide.load.engine.DiskCacheStrategy;
+import com.bumptech.glide.load.engine.GlideException;
 import com.bumptech.glide.load.resource.bitmap.CenterCrop;
+import com.bumptech.glide.request.RequestListener;
 import com.bumptech.glide.request.RequestOptions;
+import com.bumptech.glide.request.target.SimpleTarget;
+import com.bumptech.glide.request.target.Target;
+import com.bumptech.glide.request.transition.Transition;
 import com.lcjian.library.util.common.DimenUtils;
 import com.lcjian.library.util.common.StringUtils;
 import com.lcjian.library.util.glide.GlideRoundTransform;
@@ -25,16 +38,19 @@
 
 public class VideoUIUtil {
 
+    private static final String TAG = "VideoUIUtil";
 
-    public static void setVideoListItem(Context mContext, VideoHolder viewHolder, View.OnClickListener itemOnClickListener, final VideoInfo info, int columns) {
+    public static void setVideoListItem(Context mContext, VideoHolder viewHolder, View.OnClickListener itemOnClickListener, final VideoInfo info, int columns, int itemWidth) {
         viewHolder.ll_video_show.setVisibility(View.VISIBLE);
+        float ratio = 0;
         if (columns == 2) {
-            viewHolder.rl_ratio.setRatio(0.562f);
+            ratio = 0.562f;
         } else if (columns == 3) {
-            viewHolder.rl_ratio.setRatio(1.39f);
+            ratio = 1.39f;
         } else {
-            viewHolder.rl_ratio.setRatio(0.562f);
+            ratio = 0.562f;
         }
+        viewHolder.rl_ratio.setRatio(ratio);
 
         String picture = "";
         if (columns == 2) {
@@ -48,16 +64,29 @@
         }
 
         viewHolder.rl_ratio.setTag(picture);
-        viewHolder.rl_ratio.post(new Runnable() {
-            @Override
-            public void run() {
-                try {
-                    Glide.with(mContext).load(viewHolder.rl_ratio.getTag() + "").apply(new RequestOptions().centerCrop()).transform(new GlideRoundTransform(mContext, 6)).transition(withCrossFade()).placeholder(R.drawable.shape_video_list_cover_placeholder).into(viewHolder.iv_movie_cover);
-                } catch (IllegalArgumentException e) {
-                    e.printStackTrace();
-                }
+        if (itemWidth > 0) {
+            ViewGroup.LayoutParams params = viewHolder.iv_movie_cover.getLayoutParams();
+            ViewGroup.LayoutParams params1 = viewHolder.view.getLayoutParams();
+            params.width = itemWidth;
+            params.height = (int) (itemWidth * ratio);
+            params1.width = itemWidth;
+            try {
+                Glide.with(mContext).load(picture).apply(new RequestOptions().centerCrop()).transform(new GlideRoundTransform(mContext, 6)).transition(withCrossFade()).placeholder(R.drawable.shape_video_list_cover_placeholder).diskCacheStrategy(DiskCacheStrategy.ALL).into(viewHolder.iv_movie_cover);
+            } catch (IllegalArgumentException e) {
+                Log.i(TAG, e.getMessage());
             }
-        });
+        } else {
+            viewHolder.rl_ratio.post(new Runnable() {
+                @Override
+                public void run() {
+                    try {
+                        Glide.with(mContext).load(viewHolder.rl_ratio.getTag() + "").apply(new RequestOptions().centerCrop()).transform(new GlideRoundTransform(mContext, 6)).transition(withCrossFade()).placeholder(R.drawable.shape_video_list_cover_placeholder).diskCacheStrategy(DiskCacheStrategy.ALL).into(viewHolder.iv_movie_cover);
+                    } catch (IllegalArgumentException e) {
+                        e.printStackTrace();
+                    }
+                }
+            });
+        }
 
         if (info.getTag() != null && info.getTag().contains("璇勫垎")) {
             info.setTag("");
@@ -108,7 +137,7 @@
             viewHolder.iv_high.setVisibility(View.GONE);
         }
 
-        viewHolder.tv_movie_sub_title.setText(info.getSubTitle()==null?"":info.getSubTitle());
+        viewHolder.tv_movie_sub_title.setText(info.getSubTitle() == null ? "" : info.getSubTitle());
     }
 
     public static void setHomeVideoListItem(Context mContext, VideoHolder holder, View.OnClickListener itemOnClickListener, HomeVideo info, boolean big) {

--
Gitblit v1.8.0