| | |
| | | package com.weikou.beibeivideo.util.video; |
| | | |
| | | import android.content.Context; |
| | | import android.graphics.Typeface; |
| | | |
| | | import androidx.annotation.NonNull; |
| | | import androidx.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 com.bumptech.glide.Glide; |
| | | import com.bumptech.glide.load.resource.bitmap.CenterCrop; |
| | | import com.bumptech.glide.load.engine.DiskCacheStrategy; |
| | | import com.bumptech.glide.request.RequestOptions; |
| | | import com.lcjian.library.util.common.DimenUtils; |
| | | import com.lcjian.library.util.common.StringUtils; |
| | |
| | | import com.weikou.beibeivideo.entity.VideoInfo; |
| | | import com.weikou.beibeivideo.entity.video.holder.VideoHolder; |
| | | |
| | | import java.text.DecimalFormat; |
| | | |
| | | import static com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions.withCrossFade; |
| | | |
| | | 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.625f); |
| | | ratio = 0.562f; |
| | | } else if (columns == 3) { |
| | | viewHolder.rl_ratio.setRatio(1.4f); |
| | | ratio = 1.39f; |
| | | } else { |
| | | viewHolder.rl_ratio.setRatio(0.625f); |
| | | ratio = 0.562f; |
| | | } |
| | | viewHolder.rl_ratio.setRatio(ratio); |
| | | |
| | | String picture = ""; |
| | | if (columns == 2) { |
| | |
| | | } |
| | | |
| | | 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(""); |
| | |
| | | viewHolder.tv_tag.setVisibility(View.VISIBLE); |
| | | } |
| | | |
| | | info.setScore("9.6"); |
| | | |
| | | if (!StringUtils.isEmpty(info.getScore())) { |
| | | viewHolder.tv_score.setVisibility(View.VISIBLE); |
| | | //改变 |
| | | SpannableString spannableString = new SpannableString(info.getScore() + "分"); |
| | | spannableString.setSpan(new AbsoluteSizeSpan(DimenUtils.spToPixels(13, mContext)), 0, 1, Spanned.SPAN_INCLUSIVE_EXCLUSIVE); |
| | | spannableString.setSpan(new StyleSpan(Typeface.BOLD_ITALIC), 0, info.getScore().length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE); |
| | | viewHolder.tv_score.setText(spannableString); |
| | | } else { |
| | | viewHolder.tv_score.setVisibility(View.INVISIBLE); |
| | |
| | | viewHolder.iv_high.setVisibility(View.GONE); |
| | | } |
| | | |
| | | info.setSubTitle("副标题副标题副标题副标题副标题副标题副标题"); |
| | | 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) { |