From 214f9edd2fe20c20e32630e9b5380cc6271c1eb7 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 27 三月 2021 16:51:13 +0800 Subject: [PATCH] 白色背景修改 --- BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/RecommendNewAdapter.java | 84 +++++++++++++++++++++++++++++++++++------ 1 files changed, 71 insertions(+), 13 deletions(-) diff --git a/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/RecommendNewAdapter.java b/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/RecommendNewAdapter.java index ae48ae6..d58b450 100644 --- a/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/RecommendNewAdapter.java +++ b/BuWanVideo/src/com/weikou/beibeivideo/ui/recommend/RecommendNewAdapter.java @@ -14,13 +14,16 @@ import android.widget.RelativeLayout; import android.widget.TextView; +import com.alibaba.fastjson.JSONObject; import com.bumptech.glide.Glide; import com.bumptech.glide.request.RequestOptions; +import com.bumptech.glide.request.target.DrawableImageViewTarget; import com.bytedance.sdk.openadsdk.TTAdDislike; import com.google.gson.FieldNamingPolicy; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.lcjian.library.util.common.StringUtils; +import com.lcjian.library.widget.RatioLayout; import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.entity.HomeType; import com.weikou.beibeivideo.entity.HomeVideo; @@ -35,7 +38,8 @@ import com.weikou.beibeivideo.ui.common.VideosLiveActivity; import com.weikou.beibeivideo.ui.discover.StarsActivity; import com.weikou.beibeivideo.ui.media.VideoDetailActivity2; -import com.weikou.beibeivideo.ui.video.VideoColumn2Adapter; +import com.weikou.beibeivideo.ui.video.VideoRecommendAdapter; +import com.weikou.beibeivideo.util.JumpActivityUtil; import com.weikou.beibeivideo.util.VideoUtil; import com.weikou.beibeivideo.util.ad.AdUtil; import com.weikou.beibeivideo.util.ad.ExpressAdManager; @@ -45,6 +49,8 @@ import java.util.Iterator; import java.util.List; import java.util.TreeSet; + +import static com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions.withCrossFade; public class RecommendNewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { @@ -162,24 +168,55 @@ return; } if (homeType.getVideoInfoList() == null) { - homeType.setVideoInfoList(new ArrayList<VideoInfo>()); + homeType.setVideoInfoList(new ArrayList<>()); } + + //鏄惁涓哄箍鍛� + if (homeType.getAd() != null) { + holder.fl_ad.setVisibility(View.VISIBLE); + holder.fl_content.setVisibility(View.GONE); + holder.rl_ad.setRatio(homeType.getAd().getPictureRate().floatValue()); + try { + Glide.with(mContext).load(homeType.getAd().getPicture()).transition(withCrossFade()) + .apply(new RequestOptions().placeholder(R.drawable.shape_default_cover).error(R.drawable.shape_default_cover)) + .into(new DrawableImageViewTarget(holder.iv_ad, true)); + } catch (IllegalArgumentException e) { + e.printStackTrace(); + } + + holder.view.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + + JumpActivityUtil.jumpPage(mContext,homeType.getAd().getJumpDetail(),homeType.getAd().getParams()!=null? JSONObject.parseObject(homeType.getAd().getParams().replace( + "\\" + "\"", "\"")):null); + } + }); + + return; + } + + holder.fl_ad.setVisibility(View.GONE); + holder.fl_content.setVisibility(View.VISIBLE); + + homeType.getVideoInfoList().clear(); + int bigPictureIndex = -1; if (homeType.getHomeVideoList() != null) - for (HomeVideo hv : homeType.getHomeVideoList()) { - homeType.getVideoInfoList().add(hv.getVideo()); + for (int j = 0; j < homeType.getHomeVideoList().size(); j++) { + if (homeType.getHomeVideoList().get(j).isBigPicture()) + bigPictureIndex = j; + homeType.getVideoInfoList().add(homeType.getHomeVideoList().get(j).getVideo()); } holder.view.setVisibility(View.VISIBLE); - VideoColumn2Adapter adapter = null; -// if (isFirst) { -// homeType.setColumns(Integer.MAX_VALUE); -// homeType.setNeedAd(true); -// } + VideoRecommendAdapter adapter = null; + + holder.rv_content.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT)); if (homeType.getColumns() > 3) {//绗竴鎺掍负灏忚棰� - adapter = new VideoColumn2Adapter(mContext, mContext, homeType.getVideoInfoList(), homeType.isNeedAd(), Integer.MAX_VALUE, "recommend", null, new ExpressAdManager.IAdShowListener() { + adapter = new VideoRecommendAdapter(mContext, mContext, homeType.getVideoInfoList(), homeType.isNeedAd(), Integer.MAX_VALUE, "recommend", homeType.getName(), null, new ExpressAdManager.IAdShowListener() { @Override public void show() { holder.rv_content.scrollToPosition(0); @@ -187,16 +224,17 @@ }); adapter.initRecyclerViewDisplayWidthRow1(holder.rv_content); } else { - adapter = new VideoColumn2Adapter(mContext, mContext, homeType.getVideoInfoList(), homeType.isNeedAd(), homeType.getColumns(), "recommend", null); + adapter = new VideoRecommendAdapter(mContext, mContext, homeType.getVideoInfoList(), homeType.isNeedAd(), homeType.getColumns(), "recommend", homeType.getName(), null); if (homeType.getColumns() == 2) - adapter.initRecyclerViewDisplayWidthColumn2(holder.rv_content); + adapter.initRecyclerViewDisplayWidthColumn2(holder.rv_content, bigPictureIndex); else if (homeType.getColumns() == 3) adapter.initRecyclerViewDisplayWidthColumn3(holder.rv_content); else adapter.initRecyclerViewDisplayWidthRow1(holder.rv_content); } - if (homeType.getVideoInfoList() != null && homeType.getVideoInfoList().size() > 0) + if (homeType.getVideoInfoList() != null && homeType.getVideoInfoList().size() > 0) { holder.rv_content.setAdapter(adapter); + } Glide.with(mContext).load(homeType.getIcon()) @@ -287,8 +325,12 @@ } class HomeTypeHolder extends RecyclerView.ViewHolder { + LinearLayout fl_content; + FrameLayout fl_ad; + RatioLayout rl_ad; TextView tv_category_name; ImageView tv_category_icon; + ImageView iv_ad; TextView tv_more; RecyclerView rv_content; RelativeLayout rl_title_item; @@ -299,6 +341,20 @@ this.view = convertView; rl_title_item = convertView .findViewById(R.id.rl_title_item); + + fl_content = convertView + .findViewById(R.id.fl_content); + + fl_ad = convertView + .findViewById(R.id.fl_ad); + + iv_ad = convertView + .findViewById(R.id.iv_ad); + + rl_ad = convertView + .findViewById(R.id.rl_ad); + + tv_category_name = convertView .findViewById(R.id.tv_category_name); tv_category_icon = convertView @@ -307,6 +363,8 @@ .findViewById(R.id.tv_more); rv_content = convertView .findViewById(R.id.rv_content); + + if (recycledViewPool != null) rv_content.setRecycledViewPool(recycledViewPool); } -- Gitblit v1.8.0