package com.weikou.beibeivideo.util.video;
|
|
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;
|
import com.weikou.beibeivideo.R;
|
import com.weikou.beibeivideo.entity.HomeVideo;
|
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, int itemWidth) {
|
viewHolder.ll_video_show.setVisibility(View.VISIBLE);
|
float ratio = 0;
|
if (columns == 2) {
|
ratio = 0.562f;
|
} else if (columns == 3) {
|
ratio = 1.39f;
|
} else {
|
ratio = 0.562f;
|
}
|
viewHolder.rl_ratio.setRatio(ratio);
|
|
String picture = "";
|
if (columns == 2) {
|
picture = info.getHpicture();
|
} else if (columns == 3) {
|
picture = info.getVpicture();
|
}
|
|
if (StringUtils.isEmpty(picture)) {
|
picture = info.getPicture();
|
}
|
|
viewHolder.rl_ratio.setTag(picture);
|
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_movie_title.setText(info.getName() + "");
|
viewHolder.tv_tag.setText(StringUtils.isEmpty(info.getTag()) ? "" : info.getTag());
|
|
viewHolder.view.setOnClickListener(itemOnClickListener);
|
|
viewHolder.tv_tag.setText(info.getTag());
|
if (StringUtils.isBlank(info.getTag())) {
|
viewHolder.tv_tag.setVisibility(View.INVISIBLE);
|
} else {
|
viewHolder.tv_tag.setVisibility(View.VISIBLE);
|
}
|
|
|
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);
|
}
|
|
if (viewHolder.tv_tag.getVisibility() == View.INVISIBLE && viewHolder.tv_score.getVisibility() == View.INVISIBLE) {
|
viewHolder.ll_tag_container.setVisibility(View.GONE);
|
} else {
|
viewHolder.ll_tag_container.setVisibility(View.VISIBLE);
|
}
|
|
|
//vip标识
|
if (info != null && info.getFree() == 1) {
|
viewHolder.iv_vip.setVisibility(View.VISIBLE);
|
} else {
|
viewHolder.iv_vip.setVisibility(View.GONE);
|
}
|
|
if (info != null && info.getDefinition() == 1) {
|
viewHolder.iv_high.setVisibility(View.VISIBLE);
|
} else {
|
viewHolder.iv_high.setVisibility(View.GONE);
|
}
|
|
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) {
|
//设置内容
|
holder.ll_video_show.setVisibility(View.VISIBLE);
|
if (StringUtils.isEmpty(info.getPicture())) {
|
Glide.with(mContext).load(info.getVideo().getPicture())
|
.apply(new RequestOptions().centerCrop().transform(new GlideRoundTransform(mContext, big ? 8 : 6)).placeholder(R.drawable.ic_default_cover).error(R.drawable.ic_default_cover))
|
.into(holder.iv_movie_cover);
|
} else {
|
try {
|
Glide.with(mContext).load(info.getPicture())
|
.apply(new RequestOptions().centerCrop().transform(new GlideRoundTransform(mContext, big ? 8 : 6)).placeholder(R.drawable.ic_default_cover).error(R.drawable.ic_default_cover))
|
.into(holder.iv_movie_cover);
|
} catch (IllegalArgumentException e) {
|
e.printStackTrace();
|
}
|
}
|
holder.tv_movie_title.setText(info.getVideo().getName());
|
|
|
String tag = StringUtils.isBlank(info
|
.getVideo().getTag()) ? "" : info.getVideo()
|
.getTag();
|
holder.tv_tag.setText(tag);
|
if (StringUtils.isBlank(tag)) {
|
holder.tv_tag.setVisibility(View.GONE);
|
} else {
|
holder.tv_tag.setVisibility(View.VISIBLE);
|
}
|
|
if (!StringUtils.isEmpty(info.getVideo().getScore())) {
|
holder.tv_score.setVisibility(View.VISIBLE);
|
//改变
|
SpannableString spannableString = new SpannableString(info.getVideo().getScore() + "分");
|
spannableString.setSpan(new AbsoluteSizeSpan(DimenUtils.spToPixels(13, mContext)), 0, 1, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
|
holder.tv_score.setText(spannableString);
|
} else {
|
holder.tv_score.setVisibility(View.GONE);
|
}
|
|
if (holder.tv_tag.getVisibility() == View.GONE && holder.tv_score.getVisibility() == View.GONE) {
|
holder.ll_tag_container.setVisibility(View.GONE);
|
} else {
|
holder.ll_tag_container.setVisibility(View.VISIBLE);
|
}
|
|
|
//vip标识
|
if (info.getVideo() != null && info.getVideo().getFree() == 1) {
|
holder.iv_vip.setVisibility(View.VISIBLE);
|
} else {
|
holder.iv_vip.setVisibility(View.GONE);
|
}
|
|
if (info.getVideo() != null && info.getVideo().getDefinition() == 1) {
|
holder.iv_high.setVisibility(View.VISIBLE);
|
} else {
|
holder.iv_high.setVisibility(View.GONE);
|
}
|
holder.ll_video_show
|
.setOnClickListener(itemOnClickListener);
|
}
|
|
|
}
|