package com.tejia.lijin.app.ui.goods;
|
|
import android.content.Context;
|
import android.graphics.Color;
|
import android.graphics.drawable.GradientDrawable;
|
import android.text.Spannable;
|
import android.text.SpannableString;
|
import android.text.SpannedString;
|
import android.text.style.RelativeSizeSpan;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.ViewGroup;
|
import android.widget.FrameLayout;
|
import android.widget.ImageView;
|
import android.widget.LinearLayout;
|
import android.widget.TextView;
|
|
import com.androidquery.AQuery;
|
import com.tejia.lijin.app.R;
|
import com.tejia.lijin.app.entity.goods.GoodsDetailInfo;
|
import com.wpc.library.util.common.DimenUtils;
|
import com.wpc.library.util.common.StringUtils;
|
|
import java.util.List;
|
|
import androidx.annotation.NonNull;
|
import androidx.recyclerview.widget.RecyclerView;
|
|
public class GoodsDetailHongBaoListAdapter extends RecyclerView.Adapter {
|
private Context mContext;
|
private List<GoodsDetailInfo.HongBaoInfo> mList;
|
private boolean simpleMode;
|
|
public GoodsDetailHongBaoListAdapter(Context context, List<GoodsDetailInfo.HongBaoInfo> list, boolean simpleMode) {
|
this.mContext = context;
|
this.mList = list;
|
this.simpleMode = simpleMode;
|
}
|
|
@NonNull
|
@Override
|
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
return new ViewHolder(LayoutInflater.from(mContext).inflate(R.layout.item_goods_detail_hongbao, null));
|
}
|
|
@Override
|
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
|
GoodsDetailInfo.HongBaoInfo hongBaoInfo = mList.get(position);
|
final ViewHolder viewHolder = (ViewHolder) holder;
|
viewHolder.tv_more.setOnClickListener(new View.OnClickListener() {
|
@Override
|
public void onClick(View v) {
|
if (viewHolder.ll_hongbao_detail.getVisibility() == View.VISIBLE)
|
viewHolder.ll_hongbao_detail.setVisibility(View.GONE);
|
else {
|
viewHolder.ll_hongbao_detail.setVisibility(View.VISIBLE);
|
viewHolder.tv_more.setVisibility(View.GONE);
|
}
|
}
|
});
|
|
boolean fanli = false;
|
|
//初始化View显示
|
setShowMode(viewHolder, fanli, simpleMode);
|
//设置红包详情
|
setHongBaoDetailInfo(viewHolder, hongBaoInfo);
|
|
|
//设置资金
|
SpannableString hbMoney = new SpannableString(hongBaoInfo.getHongBaoMoney());
|
hbMoney.setSpan(new RelativeSizeSpan(1.5f), 1, (hongBaoInfo.getFinalMoney().indexOf(".") > -1 ? hongBaoInfo.getFinalMoney().indexOf(".") : hongBaoInfo.getFinalMoney().length()), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
viewHolder.tv_sub_money.setText(hbMoney);
|
viewHolder.tv_sub_money.setCompoundDrawablePadding(DimenUtils.dip2px(mContext, 8));
|
if (fanli) {
|
viewHolder.tv_sub_money.setCompoundDrawablesWithIntrinsicBounds(R.drawable.icon_goods_detail_hongbao_fanli, 0, 0, 0);
|
} else {
|
viewHolder.tv_sub_money.setCompoundDrawablesWithIntrinsicBounds(R.drawable.icon_goods_detail_hongbao_hb, 0, 0, 0);
|
}
|
|
SpannableString finalMoney = new SpannableString(hongBaoInfo.getFinalMoney());
|
finalMoney.setSpan(new RelativeSizeSpan(1.77f), 1, (hongBaoInfo.getFinalMoney().indexOf(".") > -1 ? hongBaoInfo.getFinalMoney().indexOf(".") : hongBaoInfo.getFinalMoney().length()), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
viewHolder.tv_actual_money.setText(finalMoney);
|
|
//简介
|
if (StringUtils.isNullOrEmpty(hongBaoInfo.getDesc())) {
|
viewHolder.tv_desc.setText("");
|
} else {
|
viewHolder.tv_desc.setText(hongBaoInfo.getDesc());
|
}
|
|
|
}
|
|
|
/**
|
* @param fanli 是否返利
|
* @param simple 是否为简单模式
|
*/
|
private void setShowMode(ViewHolder viewHolder, boolean fanli, boolean simple) {
|
|
GradientDrawable moreBg = new GradientDrawable();
|
moreBg.setCornerRadius(DimenUtils.dip2px(mContext, 5));
|
if (fanli) {
|
viewHolder.fl_main.setBackgroundResource(R.drawable.shape_goods_detail_hongbao_bg);
|
viewHolder.ll_hongbao_detail.setBackgroundResource(R.drawable.ic_goods_detail_hongbao_detail_fanli);
|
moreBg.setColor(Color.parseColor("#35A30E"));
|
viewHolder.tv_more.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.icon_goods_detail_hongbao_fanli_more, 0, 0);
|
} else {
|
viewHolder.fl_main.setBackgroundResource(R.drawable.shape_goods_detail_hongbao_high_level_bg);
|
viewHolder.ll_hongbao_detail.setBackgroundResource(R.drawable.ic_goods_detail_hongbao_detail_hb);
|
moreBg.setColor(Color.parseColor("#EC1F3F"));
|
viewHolder.tv_more.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.icon_goods_detail_hongbao_hb_more, 0, 0);
|
}
|
|
viewHolder.tv_more.setBackground(moreBg);
|
|
if (simple) {
|
viewHolder.ll_level_info.setVisibility(View.GONE);
|
viewHolder.tv_more.setVisibility(View.GONE);
|
viewHolder.tv_desc.setVisibility(View.GONE);
|
} else {
|
viewHolder.ll_level_info.setVisibility(View.VISIBLE);
|
viewHolder.tv_more.setVisibility(View.VISIBLE);
|
viewHolder.tv_desc.setVisibility(View.VISIBLE);
|
}
|
|
|
}
|
|
private void setHongBaoDetailInfo(ViewHolder viewHolder, GoodsDetailInfo.HongBaoInfo hongBaoInfo) {
|
|
//隐藏超出的资金项目
|
for (int i = hongBaoInfo.getPriceInfoList().size(); i < 4; i++) {
|
|
int viewId = mContext.getResources().getIdentifier(
|
"ll_money_" + i,
|
"id",
|
mContext.getPackageName());
|
if (viewHolder.fl_main.findViewById(viewId) != null)
|
viewHolder.fl_main.findViewById(viewId).setVisibility(View.GONE);
|
}
|
|
for (int i = hongBaoInfo.getPriceInfoList().size() - 1; i < 3; i++) {
|
int viewId = mContext.getResources().getIdentifier(
|
"v_hongbao_cut_" + i,
|
"id",
|
mContext.getPackageName());
|
if (viewHolder.fl_main.findViewById(viewId) != null)
|
viewHolder.fl_main.findViewById(viewId).setVisibility(View.GONE);
|
}
|
|
for (int i = 0; i < hongBaoInfo.getPriceInfoList().size(); i++) {
|
viewHolder.tv_money_names[i].setText(hongBaoInfo.getPriceInfoList().get(i).getPriceName());
|
viewHolder.tv_moneys[i].setText(hongBaoInfo.getPriceInfoList().get(i).getMoney());
|
}
|
|
|
}
|
|
@Override
|
public int getItemCount() {
|
return 0;
|
}
|
|
class ViewHolder extends RecyclerView.ViewHolder {
|
FrameLayout fl_main;
|
TextView tv_sub_money;
|
TextView tv_sub_money_desc;
|
TextView tv_final_money;
|
TextView tv_more;
|
TextView tv_desc;
|
|
|
//价格详情
|
LinearLayout ll_hongbao_detail;
|
LinearLayout ll_money_0, ll_money_1, ll_money_2, ll_money_3;
|
TextView[] tv_money_names;
|
TextView[] tv_moneys;
|
View v_hongbao_cut_0, v_hongbao_cut_1, v_hongbao_cut_2;
|
|
//到手价
|
TextView tv_actual_money;
|
|
LinearLayout ll_level_info;
|
ImageView iv_level;
|
TextView tv_level_desc;
|
|
|
public ViewHolder(@NonNull View itemView) {
|
super(itemView);
|
|
fl_main = itemView.findViewById(R.id.fl_main);
|
tv_sub_money = itemView.findViewById(R.id.tv_sub_money);
|
tv_sub_money_desc = itemView.findViewById(R.id.tv_sub_money_desc);
|
tv_final_money = itemView.findViewById(R.id.tv_final_money);
|
tv_more = itemView.findViewById(R.id.tv_more);
|
tv_desc = itemView.findViewById(R.id.tv_desc);
|
ll_hongbao_detail = itemView.findViewById(R.id.ll_hongbao_detail);
|
ll_money_0 = itemView.findViewById(R.id.ll_money_0);
|
ll_money_1 = itemView.findViewById(R.id.ll_money_1);
|
ll_money_2 = itemView.findViewById(R.id.ll_money_2);
|
ll_money_3 = itemView.findViewById(R.id.ll_money_3);
|
|
tv_moneys = new TextView[]{itemView.findViewById(R.id.tv_money_0),
|
itemView.findViewById(R.id.tv_money_1),
|
itemView.findViewById(R.id.tv_money_2),
|
itemView.findViewById(R.id.tv_money_3)};
|
|
tv_money_names = new TextView[]{itemView.findViewById(R.id.tv_money_name_0),
|
itemView.findViewById(R.id.tv_money_name_1),
|
itemView.findViewById(R.id.tv_money_name_2),
|
itemView.findViewById(R.id.tv_money_name_3)};
|
|
v_hongbao_cut_0 = itemView.findViewById(R.id.v_hongbao_cut_0);
|
v_hongbao_cut_1 = itemView.findViewById(R.id.v_hongbao_cut_1);
|
v_hongbao_cut_2 = itemView.findViewById(R.id.v_hongbao_cut_2);
|
|
|
tv_actual_money = itemView.findViewById(R.id.tv_actual_money);
|
ll_level_info = itemView.findViewById(R.id.ll_level_info);
|
|
iv_level = itemView.findViewById(R.id.iv_level);
|
tv_level_desc = itemView.findViewById(R.id.tv_level_desc);
|
|
|
}
|
}
|
|
|
}
|