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

View File

@@ -55,25 +55,12 @@ public class MyChatBubbleAdapter extends BaseAdapter<ChatBubbleInfo> {
binding.tvUsed.setVisibility(View.GONE);
binding.tvUsed.setEnabled(false);
binding.tvUsed.setText("使用");
binding.tvCounters.setText(mContext.getString(R.string.past_due));
} else {
binding.tvUsed.setVisibility(View.VISIBLE);
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);
}
// 过期状态不可使用
if (item.getStatus() == 2) {
binding.tvUsed.setVisibility(View.GONE);
binding.tvUsed.setEnabled(false);
binding.tvUsed.setText("使用");
} else {
if (item.getStatus() == 3) {
binding.tvUsed.setVisibility(View.VISIBLE);
binding.tvUsed.setEnabled(true);
}
// 日期展示
if (item.getStatus() == 2) { // 过期
binding.tvCounters.setText(mContext.getString(R.string.past_due));
binding.tvCounters.setText(mContext.getString(R.string.decoration_remainder) + item.getExpireText());
} 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));
binding.tvUsed.setVisibility(View.GONE);
binding.tvCounters.setText(mContext.getString(R.string.past_due));
}
}
}

View File

@@ -32,30 +32,16 @@ public class MyNamePlateAdapter extends BaseQuickAdapter<NamePlateInfo.Nameplate
.load(item.getNameplateImage())
.into(ivCover);
//使用按钮
TextView tvUsed = helper.getView(R.id.tv_used);
tvUsed.setBackgroundResource(item.isUsing() ? R.drawable.bg_common_cancel : R.drawable.bg_common_confirm);
tvUsed.setTextColor(item.isUsing() ? mContext.getResources().getColor(R.color.color_2B2D33) :
mContext.getResources().getColor(R.color.color_2B2D33));
tvUsed.setText(item.isUsing() ? R.string.label_used : R.string.label_can_use);
if (item.isIsExpired()) { // 过期
// 日期展示
if (!item.isExpired()) {
helper.setText(R.id.tv_counters, mContext.getString(R.string.decoration_remainder) + item.getExpireText());
tvUsed.setVisibility(View.VISIBLE);
tvUsed.setText(item.isUsing() ? R.string.label_used : R.string.label_can_use);
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));
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.setEnabled(false);
binding.tvUsed.setText("使用");
binding.tvCounters.setText(mContext.getString(R.string.past_due));
} else {
binding.tvUsed.setVisibility(View.VISIBLE);
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 CAR_NAME = "carName";
public int expireDays;
private int expireHour;
private int expireMinute;
public int limitType;
/**
* 该状态状态
@@ -105,6 +107,10 @@ public class CarInfo extends BaseDecoration implements Serializable {
return valueMap;
}
public String getExpireText() {
return expireDays + "" + expireHour + "小时" + expireMinute + "分钟";
}
@Override
public int getRealPrice() {
if (getRemainingDay() > 0 && getStatus() == CarInfo.STATUS_USER_CAN_USE) {

View File

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

View File

@@ -41,6 +41,8 @@ public class HeadWearInfo extends BaseDecoration implements Serializable {
private int seq;
private int days;
private int expireDays;
private int expireHour;
private int expireMinute;
private int status;
private int comeFrom;
private boolean enable;
@@ -60,6 +62,10 @@ public class HeadWearInfo extends BaseDecoration implements Serializable {
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;
}
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">
/**
* headwearId : 1

View File

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

View File

@@ -57,8 +57,29 @@ public class NamePlateInfo {
private String nameplateImage;
private boolean isExpired;
private int expireDays;
private int expireHour;
private int expireMinute;
private boolean isUsing;
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() {
return word;