feat:完成我的装扮下各个Tab的过期时间展示规则调整;

This commit is contained in:
Max
2024-01-29 18:41:10 +08:00
parent a2faf14901
commit 5d4aa38b93
10 changed files with 87 additions and 124 deletions

View File

@@ -2,7 +2,6 @@ package com.nnbc123.app.decoration.adapter;
import android.view.View; import android.view.View;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.TextView;
import com.netease.nim.uikit.support.glide.GlideApp; import com.netease.nim.uikit.support.glide.GlideApp;
import com.nnbc123.app.R; import com.nnbc123.app.R;
@@ -39,62 +38,22 @@ public class MyCarAdapter extends BaseAdapter<CarInfo> {
helper.addOnClickListener(R.id.tv_used); helper.addOnClickListener(R.id.tv_used);
// 倒计时 if (item.getStatus() == CarInfo.STATUS_USER_CAN_USE) {
int remainingDay = item.getRemainingDay(); binding.tvUsed.setVisibility(View.VISIBLE);
int status = item.getStatus(); binding.tvUsed.setEnabled(true);
boolean canUse; binding.tvCounters.setText(mContext.getString(R.string.decoration_remainder) + item.getExpireText());
if (item.isUsing()) {
if (remainingDay >= 0 && status == CarInfo.STATUS_USER_CAN_USE) { binding.tvUsed.setText("取消使用");
canUse = true; binding.tvUsed.setBackgroundResource(R.drawable.bg_common_cancel);
} else { } else {
canUse = false; binding.tvUsed.setText("使用");
} binding.tvUsed.setBackgroundResource(R.drawable.bg_common_confirm);
// 时间
if (remainingDay >= 0 && status == CarInfo.STATUS_USER_CAN_USE) {
String days;
if (item.getRemainingDay() > 99){
days = "99+";
}else {
days = item.getRemainingDay()+"";
} }
binding.tvCounters.setText(String.format(binding.tvCounters.getResources().getString(R.string.decoration_status_wrapper),
binding.tvCounters.getResources().getString(R.string.decoration_remainder) + days + ""));
} else { } else {
if (status == CarInfo.STATUS_OFF_SHELF || status == CarInfo.STATUS_OUT_OF_DATE) { binding.tvUsed.setVisibility(View.GONE);
binding.tvCounters.setText(String.format(binding.tvCounters.getResources().getString(R.string.decoration_status_wrapper), binding.tvCounters.setText(binding.tvCounters.getResources().getString(R.string.past_due));
binding.tvCounters.getResources().getString(R.string.past_due)));
}
} }
setUseButton(binding.tvUsed, canUse, item.isUsing());
updateTag(item, binding.ivTag); updateTag(item, binding.ivTag);
}
private void setUseButton(TextView tvUsed, boolean canUse, boolean isUsing) {
if (!canUse) {
tvUsed.setVisibility(View.GONE);
tvUsed.setText("使用");
tvUsed.setBackgroundResource(R.drawable.bg_common_disable);
tvUsed.setEnabled(false);
tvUsed.setTextColor(mContext.getResources().getColor(R.color.color_2B2D33));
} else if (isUsing) {
tvUsed.setVisibility(View.VISIBLE);
tvUsed.setText("取消使用");
tvUsed.setBackgroundResource(R.drawable.bg_common_cancel);
tvUsed.setEnabled(true);
tvUsed.setTextColor(mContext.getResources().getColor(R.color.text_normal_282828));
} else {
tvUsed.setVisibility(View.VISIBLE);
tvUsed.setText("使用");
tvUsed.setBackgroundResource(R.drawable.bg_common_confirm);
tvUsed.setTextColor(mContext.getResources().getColor(R.color.color_2B2D33));
tvUsed.setEnabled(true);
}
} }
private void updateTag(CarInfo carInfo, ImageView ivTag) { private void updateTag(CarInfo carInfo, ImageView ivTag) {

View File

@@ -55,25 +55,12 @@ public class MyChatBubbleAdapter extends BaseAdapter<ChatBubbleInfo> {
binding.tvUsed.setVisibility(View.GONE); binding.tvUsed.setVisibility(View.GONE);
binding.tvUsed.setEnabled(false); binding.tvUsed.setEnabled(false);
binding.tvUsed.setText("使用"); binding.tvUsed.setText("使用");
binding.tvCounters.setText(mContext.getString(R.string.past_due));
} else { } else {
binding.tvUsed.setVisibility(View.VISIBLE); binding.tvUsed.setVisibility(View.VISIBLE);
binding.tvUsed.setEnabled(true); binding.tvUsed.setEnabled(true);
binding.tvCounters.setText(mContext.getString(R.string.decoration_remainder) + item.getExpireText());
} }
// 日期展示
if (item.isHasExpired()) { // 过期
binding.tvCounters.setText(mContext.getString(R.string.past_due));
} else {
String days;
if (item.getExpireDays() > 99) {
days = "99+";
} else {
days = item.getExpireDays() + "";
}
binding.tvCounters.setText(mContext.getString(R.string.decoration_remainder) + days + mContext.getString(R.string.day));
}
} }
} }

View File

@@ -46,30 +46,14 @@ public class MyHeadWearAdapter extends BaseAdapter<HeadWearInfo> {
binding.ivTag.setImageResource(R.drawable.ic_mark_exclusive); binding.ivTag.setImageResource(R.drawable.ic_mark_exclusive);
} }
// 过期状态不可使用 if (item.getStatus() == 3) {
if (item.getStatus() == 2) {
binding.tvUsed.setVisibility(View.GONE);
binding.tvUsed.setEnabled(false);
binding.tvUsed.setText("使用");
} else {
binding.tvUsed.setVisibility(View.VISIBLE); binding.tvUsed.setVisibility(View.VISIBLE);
binding.tvUsed.setEnabled(true); binding.tvUsed.setEnabled(true);
binding.tvCounters.setText(mContext.getString(R.string.decoration_remainder) + item.getExpireText());
}
// 日期展示
if (item.getStatus() == 2) { // 过期
binding.tvCounters.setText(mContext.getString(R.string.past_due));
} else { } else {
String days; binding.tvUsed.setVisibility(View.GONE);
if (item.getExpireDays() > 99){ binding.tvCounters.setText(mContext.getString(R.string.past_due));
days = "99+";
}else {
days = item.getExpireDays()+"";
}
binding.tvCounters.setText(mContext.getString(R.string.decoration_remainder) + days + mContext.getString(R.string.day));
} }
} }
} }

View File

@@ -32,30 +32,16 @@ public class MyNamePlateAdapter extends BaseQuickAdapter<NamePlateInfo.Nameplate
.load(item.getNameplateImage()) .load(item.getNameplateImage())
.into(ivCover); .into(ivCover);
//使用按钮
TextView tvUsed = helper.getView(R.id.tv_used); TextView tvUsed = helper.getView(R.id.tv_used);
tvUsed.setBackgroundResource(item.isUsing() ? R.drawable.bg_common_cancel : R.drawable.bg_common_confirm); if (!item.isExpired()) {
tvUsed.setTextColor(item.isUsing() ? mContext.getResources().getColor(R.color.color_2B2D33) : helper.setText(R.id.tv_counters, mContext.getString(R.string.decoration_remainder) + item.getExpireText());
mContext.getResources().getColor(R.color.color_2B2D33)); tvUsed.setVisibility(View.VISIBLE);
tvUsed.setText(item.isUsing() ? R.string.label_used : R.string.label_can_use); tvUsed.setText(item.isUsing() ? R.string.label_used : R.string.label_can_use);
if (item.isIsExpired()) { // 过期 tvUsed.setEnabled(true);
// 日期展示 tvUsed.setBackgroundResource(item.isUsing() ? R.drawable.bg_common_cancel : R.drawable.bg_common_confirm);
} else {
helper.setText(R.id.tv_counters, mContext.getString(R.string.past_due)); helper.setText(R.id.tv_counters, mContext.getString(R.string.past_due));
tvUsed.setVisibility(View.GONE); tvUsed.setVisibility(View.GONE);
tvUsed.setEnabled(false);
tvUsed.setBackgroundResource(R.drawable.bg_common_disable);
tvUsed.setText("使用");
} else {
String days;
if (item.getExpireDays() > 99) {
days = "99+";
} else {
days = item.getExpireDays() + "";
}
helper.setText(R.id.tv_counters, mContext.getString(R.string.decoration_remainder) + days + mContext.getString(R.string.day));
tvUsed.setVisibility(View.VISIBLE);
tvUsed.setEnabled(true);
} }
} }
} }

View File

@@ -54,25 +54,12 @@ public class MyUserCardWearAdapter extends BaseAdapter<UserCardWearInfo> {
binding.tvUsed.setVisibility(View.GONE); binding.tvUsed.setVisibility(View.GONE);
binding.tvUsed.setEnabled(false); binding.tvUsed.setEnabled(false);
binding.tvUsed.setText("使用"); binding.tvUsed.setText("使用");
binding.tvCounters.setText(mContext.getString(R.string.past_due));
} else { } else {
binding.tvUsed.setVisibility(View.VISIBLE); binding.tvUsed.setVisibility(View.VISIBLE);
binding.tvUsed.setEnabled(true); binding.tvUsed.setEnabled(true);
binding.tvCounters.setText(mContext.getString(R.string.decoration_remainder) + item.getExpireText());
} }
// 日期展示
if (item.isHasExpired()) { // 过期
binding.tvCounters.setText(mContext.getString(R.string.past_due));
} else {
String days;
if (item.getExpireDays() > 99) {
days = "99+";
} else {
days = item.getExpireDays() + "";
}
binding.tvCounters.setText(mContext.getString(R.string.decoration_remainder) + days + mContext.getString(R.string.day));
}
} }
} }

View File

@@ -35,6 +35,8 @@ public class CarInfo extends BaseDecoration implements Serializable {
//public static final String EFFECT = "effect"; //public static final String EFFECT = "effect";
public static final String CAR_NAME = "carName"; public static final String CAR_NAME = "carName";
public int expireDays; public int expireDays;
private int expireHour;
private int expireMinute;
public int limitType; public int limitType;
/** /**
* 该状态状态 * 该状态状态
@@ -105,6 +107,10 @@ public class CarInfo extends BaseDecoration implements Serializable {
return valueMap; return valueMap;
} }
public String getExpireText() {
return expireDays + "" + expireHour + "小时" + expireMinute + "分钟";
}
@Override @Override
public int getRealPrice() { public int getRealPrice() {
if (getRemainingDay() > 0 && getStatus() == CarInfo.STATUS_USER_CAN_USE) { if (getRemainingDay() > 0 && getStatus() == CarInfo.STATUS_USER_CAN_USE) {

View File

@@ -4,6 +4,8 @@ public class ChatBubbleInfo {
private String bubbleId; private String bubbleId;
private int comeFrom; private int comeFrom;
private int expireDays; private int expireDays;
private int expireHour;
private int expireMinute;
private String expireTime; private String expireTime;
private boolean hasExpired; private boolean hasExpired;
private String name; private String name;
@@ -11,6 +13,10 @@ public class ChatBubbleInfo {
private boolean hasUsed; private boolean hasUsed;
private int labelType; private int labelType;
public String getExpireText() {
return expireDays + "" + expireHour + "小时" + expireMinute + "分钟";
}
@SuppressWarnings("all") @SuppressWarnings("all")
public ChatBubbleInfo() { public ChatBubbleInfo() {
} }

View File

@@ -41,6 +41,8 @@ public class HeadWearInfo extends BaseDecoration implements Serializable {
private int seq; private int seq;
private int days; private int days;
private int expireDays; private int expireDays;
private int expireHour;
private int expireMinute;
private int status; private int status;
private int comeFrom; private int comeFrom;
private boolean enable; private boolean enable;
@@ -60,6 +62,10 @@ public class HeadWearInfo extends BaseDecoration implements Serializable {
return map; return map;
} }
public String getExpireText() {
return expireDays + "" + expireHour + "小时" + expireMinute + "分钟";
}
/** /**
* 实际购买价格 * 实际购买价格
*/ */
@@ -96,6 +102,22 @@ public class HeadWearInfo extends BaseDecoration implements Serializable {
return status == HeadWearInfo.STATUS_IN_USED; return status == HeadWearInfo.STATUS_IN_USED;
} }
public int getExpireHour() {
return expireHour;
}
public void setExpireHour(int expireHour) {
this.expireHour = expireHour;
}
public int getExpireMinute() {
return expireMinute;
}
public void setExpireMinute(int expireMinute) {
this.expireMinute = expireMinute;
}
//<editor-fold defaultstate="collapsed" desc="delombok"> //<editor-fold defaultstate="collapsed" desc="delombok">
/** /**
* headwearId : 1 * headwearId : 1

View File

@@ -4,6 +4,8 @@ public class UserCardWearInfo {
private String cardId; private String cardId;
private int comeFrom; private int comeFrom;
private int expireDays; private int expireDays;
private int expireHour;
private int expireMinute;
private String expireTime; private String expireTime;
private boolean hasExpired; private boolean hasExpired;
private String name; private String name;
@@ -11,6 +13,9 @@ public class UserCardWearInfo {
private boolean used; private boolean used;
private int labelType; private int labelType;
public String getExpireText() {
return expireDays + "" + expireHour + "小时" + expireMinute + "分钟";
}
@SuppressWarnings("all") @SuppressWarnings("all")
public UserCardWearInfo() { public UserCardWearInfo() {
} }

View File

@@ -57,8 +57,29 @@ public class NamePlateInfo {
private String nameplateImage; private String nameplateImage;
private boolean isExpired; private boolean isExpired;
private int expireDays; private int expireDays;
private int expireHour;
private int expireMinute;
private boolean isUsing; private boolean isUsing;
private String word; private String word;
public String getExpireText() {
return expireDays + "" + expireHour + "小时" + expireMinute + "分钟";
}
public int getExpireHour() {
return expireHour;
}
public void setExpireHour(int expireHour) {
this.expireHour = expireHour;
}
public int getExpireMinute() {
return expireMinute;
}
public void setExpireMinute(int expireMinute) {
this.expireMinute = expireMinute;
}
public String getWord() { public String getWord() {
return word; return word;