1:添加热度卡,在背包显示

2:修改道具商城和个性装扮,分别显示热身卡和不显示
3:完成热度卡在房间中使用,一键全使用和单个使用,完成
This commit is contained in:
2026-01-26 09:40:23 +08:00
parent 9f8f8137d1
commit 9450a351c5
31 changed files with 792 additions and 296 deletions

View File

@@ -14,8 +14,11 @@ import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.constraintlayout.widget.ConstraintLayout;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.xscm.moduleutil.R;
import com.xscm.moduleutil.bean.GiftPackBean;
import com.xscm.moduleutil.event.RoomGiftPackToEvent;
@@ -31,7 +34,7 @@ import java.util.List;
* @Time 2025年7月29日23:36:25$ $
* @Description 背包礼物适配器$
*/
public class GiftPackAdapter extends BaseAdapter {
public class GiftPackAdapter extends BaseQuickAdapter<GiftPackBean, BaseViewHolder> {
private final List<GiftPackBean> mDatas;
private final LayoutInflater inflater;
private final Context mContext;
@@ -47,6 +50,7 @@ public class GiftPackAdapter extends BaseAdapter {
private final int pageSize = 100;
public GiftPackAdapter(Context context, List<GiftPackBean> mDatas, int curIndex, String type) {
super(R.layout.item_gift_room, mDatas);
inflater = LayoutInflater.from(context);
this.mDatas = mDatas;
this.curIndex = curIndex;
@@ -60,14 +64,45 @@ public class GiftPackAdapter extends BaseAdapter {
* 如果够则直接返回每一页显示的最大条目个数pageSize,
* 如果不够,则有几项返回几,(mDatas.size() - curIndex * pageSize);(也就是最后一页的时候就显示剩余item)
*/
@Override
public int getCount() {
return mDatas.size() > (curIndex + 1) * pageSize ? pageSize : (mDatas.size() - curIndex * pageSize);
}
// @Override
// public int getCount() {
// return mDatas.size() > (curIndex + 1) * pageSize ? pageSize : (mDatas.size() - curIndex * pageSize);
// }
//
// @Override
// public GiftPackBean getItem(int position) {
// return mDatas.get(position + curIndex * pageSize);
// }
@Override
public GiftPackBean getItem(int position) {
return mDatas.get(position + curIndex * pageSize);
protected void convert(@NonNull BaseViewHolder helper, GiftPackBean giftModel) {
helper.getView(R.id.cl_gift).setOnClickListener(v -> {
// RoonGiftModel clickedModel = (RoonGiftModel) v.getTag();
EventBus.getDefault().post(new RoomGiftPackToEvent(this, giftModel, 2));
});
helper.setVisible(R.id.integral, true).setText(R.id.integral, "x" + giftModel.getNum());
helper.setText(R.id.tv_gift_name, giftModel.getGift_name());
//设置礼物价格
String surplusTxt = giftModel.getGift_price();
SpannableStringBuilder stringBuilder = new SpannableStringBuilder(surplusTxt);
//ForegroundColorSpan 为文字前景色BackgroundColorSpan为文字背景色
ForegroundColorSpan redSpan = new ForegroundColorSpan(mContext.getResources().getColor(R.color.color_FFA9A9A9));
stringBuilder.setSpan(redSpan, surplusTxt.length(), surplusTxt.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);//修改最后两个字体的颜色
helper.setText(R.id.tv_gift_price,stringBuilder);
//加载礼物图片
ImageUtils.loadImageView(giftModel.getBase_image(),helper.getView(R.id.iv_gift_pic));
//设置选中后的样式
if (giftModel.isChecked()) {//被选中
helper.getView(R.id.cl_iv_down_on).setBackgroundResource(R.mipmap.room_gift_bjx);
helper.setVisible(R.id.iv_down_on, false);
} else {
helper.setVisible(R.id.iv_down_on, false);
helper.getView(R.id.cl_iv_down_on).setBackgroundResource(0);
}
}
@Override
@@ -107,68 +142,68 @@ public class GiftPackAdapter extends BaseAdapter {
@Override
@SuppressLint({"SetTextI18n", "ClickableViewAccessibility"})
public View getView(int position, View convertView, ViewGroup parent) {
GiftPackAdapter.ViewHolder viewHolder;
GiftPackBean giftModel = getItem(position);
if (convertView == null) {
convertView = inflater.inflate(R.layout.item_gift_room, parent, false);
viewHolder = new GiftPackAdapter.ViewHolder();
viewHolder.tv_gift_name = (TextView) convertView.findViewById(R.id.tv_gift_name);
viewHolder.tv_gift_price = (TextView) convertView.findViewById(R.id.tv_gift_price);
viewHolder.iv_gift_pic = (ImageView) convertView.findViewById(R.id.iv_gift_pic);
viewHolder.item_layout = (ConstraintLayout) convertView.findViewById(R.id.cl_gift);
viewHolder.ivDownOn = (ImageView) convertView.findViewById(R.id.iv_down_on);
viewHolder.cl_iv_down_on = (ConstraintLayout) convertView.findViewById(R.id.cl_iv_down_on);
viewHolder.integral = (TextView) convertView.findViewById(R.id.integral);
viewHolder.im_heart = (ImageView) convertView.findViewById(R.id.im_heartssss);
convertView.setTag(viewHolder);
} else {
viewHolder = (GiftPackAdapter.ViewHolder) convertView.getTag();
}
viewHolder.item_layout.setOnClickListener(v -> {
// RoonGiftModel clickedModel = (RoonGiftModel) v.getTag();
EventBus.getDefault().post(new RoomGiftPackToEvent(this, giftModel, 2));
});
viewHolder.integral.setVisibility(View.VISIBLE);
viewHolder.integral.setText("x"+giftModel.getNum());
//设置礼物名字
viewHolder.tv_gift_name.setText(giftModel.getGift_name());
//设置礼物价格
String surplusTxt = giftModel.getGift_price();
SpannableStringBuilder stringBuilder = new SpannableStringBuilder(surplusTxt);
//ForegroundColorSpan 为文字前景色BackgroundColorSpan为文字背景色
ForegroundColorSpan redSpan = new ForegroundColorSpan(mContext.getResources().getColor(R.color.color_FFA9A9A9));
stringBuilder.setSpan(redSpan, surplusTxt.length(), surplusTxt.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);//修改最后两个字体的颜色
viewHolder.tv_gift_price.setText(stringBuilder);
// viewHolder.item_layout.setTag(R.id.id_gift_tag, giftModel);
//加载礼物图片
ImageUtils.loadImageView(giftModel.getBase_image(), viewHolder.iv_gift_pic);
//设置选中后的样式
if (giftModel.isChecked()) {//被选中
viewHolder.cl_iv_down_on.setBackgroundResource(R.mipmap.room_gift_bjx);
viewHolder.ivDownOn.setVisibility(View.GONE);
} else {
viewHolder.ivDownOn.setVisibility(View.GONE);
viewHolder.cl_iv_down_on.setBackgroundResource(0);
}
return convertView;
}
static class ViewHolder {
public ConstraintLayout item_layout;
public TextView tv_gift_name, tv_gift_price, integral;
public ImageView iv_gift_pic;
public TextView tv_gift_change_love_values;
public ImageView ivDownOn;
public ConstraintLayout cl_iv_down_on;
public ImageView im_heart;
}
// @Override
// @SuppressLint({"SetTextI18n", "ClickableViewAccessibility"})
// public View getView(int position, View convertView, ViewGroup parent) {
// GiftPackAdapter.ViewHolder viewHolder;
// GiftPackBean giftModel = getItem(position);
// if (convertView == null) {
// convertView = inflater.inflate(R.layout.item_gift_room, parent, false);
// viewHolder = new GiftPackAdapter.ViewHolder();
// viewHolder.tv_gift_name = (TextView) convertView.findViewById(R.id.tv_gift_name);
// viewHolder.tv_gift_price = (TextView) convertView.findViewById(R.id.tv_gift_price);
// viewHolder.iv_gift_pic = (ImageView) convertView.findViewById(R.id.iv_gift_pic);
// viewHolder.item_layout = (ConstraintLayout) convertView.findViewById(R.id.cl_gift);
// viewHolder.ivDownOn = (ImageView) convertView.findViewById(R.id.iv_down_on);
// viewHolder.cl_iv_down_on = (ConstraintLayout) convertView.findViewById(R.id.cl_iv_down_on);
// viewHolder.integral = (TextView) convertView.findViewById(R.id.integral);
// viewHolder.im_heart = (ImageView) convertView.findViewById(R.id.im_heartssss);
// convertView.setTag(viewHolder);
// } else {
// viewHolder = (GiftPackAdapter.ViewHolder) convertView.getTag();
// }
//
// viewHolder.item_layout.setOnClickListener(v -> {
//// RoonGiftModel clickedModel = (RoonGiftModel) v.getTag();
// EventBus.getDefault().post(new RoomGiftPackToEvent(this, giftModel, 2));
//
// });
// viewHolder.integral.setVisibility(View.VISIBLE);
// viewHolder.integral.setText("x"+giftModel.getNum());
// //设置礼物名字
// viewHolder.tv_gift_name.setText(giftModel.getGift_name());
// //设置礼物价格
// String surplusTxt = giftModel.getGift_price();
// SpannableStringBuilder stringBuilder = new SpannableStringBuilder(surplusTxt);
// //ForegroundColorSpan 为文字前景色BackgroundColorSpan为文字背景色
// ForegroundColorSpan redSpan = new ForegroundColorSpan(mContext.getResources().getColor(R.color.color_FFA9A9A9));
// stringBuilder.setSpan(redSpan, surplusTxt.length(), surplusTxt.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);//修改最后两个字体的颜色
// viewHolder.tv_gift_price.setText(stringBuilder);
//// viewHolder.item_layout.setTag(R.id.id_gift_tag, giftModel);
//
// //加载礼物图片
// ImageUtils.loadImageView(giftModel.getBase_image(), viewHolder.iv_gift_pic);
// //设置选中后的样式
//
// if (giftModel.isChecked()) {//被选中
// viewHolder.cl_iv_down_on.setBackgroundResource(R.mipmap.room_gift_bjx);
// viewHolder.ivDownOn.setVisibility(View.GONE);
// } else {
// viewHolder.ivDownOn.setVisibility(View.GONE);
// viewHolder.cl_iv_down_on.setBackgroundResource(0);
// }
//
// return convertView;
// }
//
//
// static class ViewHolder {
// public ConstraintLayout item_layout;
// public TextView tv_gift_name, tv_gift_price, integral;
// public ImageView iv_gift_pic;
// public TextView tv_gift_change_love_values;
// public ImageView ivDownOn;
// public ConstraintLayout cl_iv_down_on;
// public ImageView im_heart;
// }
}

View File

@@ -18,8 +18,11 @@ import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.constraintlayout.widget.ConstraintLayout;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.hjq.toast.ToastUtils;
import com.xscm.moduleutil.R;
import com.xscm.moduleutil.bean.RoonGiftModel;
@@ -31,7 +34,7 @@ import org.greenrobot.eventbus.EventBus;
import java.lang.ref.WeakReference;
import java.util.List;
public class GiftRoomAdapter extends BaseAdapter {
public class GiftRoomAdapter extends BaseQuickAdapter<RoonGiftModel, BaseViewHolder> {
private final List<RoonGiftModel> mDatas;
private final LayoutInflater inflater;
private final Context mContext;
@@ -47,7 +50,7 @@ public class GiftRoomAdapter extends BaseAdapter {
private final int pageSize = 100;
public GiftRoomAdapter(Context context, List<RoonGiftModel> mDatas, int curIndex, String type) {
super(R.layout.item_gift_room);
this.mDatas = mDatas;
this.curIndex = curIndex;
this.mContext = context;
@@ -61,16 +64,83 @@ public class GiftRoomAdapter extends BaseAdapter {
* 如果够则直接返回每一页显示的最大条目个数pageSize,
* 如果不够,则有几项返回几,(mDatas.size() - curIndex * pageSize);(也就是最后一页的时候就显示剩余item)
*/
@Override
public int getCount() {
return mDatas !=null ? mDatas.size() : 0;
// return mDatas.size() > (curIndex + 1) * pageSize ? pageSize : (mDatas.size() - curIndex * pageSize);
}
// @Override
// public int getCount() {
// return mDatas !=null ? mDatas.size() : 0;
//// return mDatas.size() > (curIndex + 1) * pageSize ? pageSize : (mDatas.size() - curIndex * pageSize);
// }
//
// @Override
// public RoonGiftModel getItem(int position) {
// return mDatas.get(position);
//// return mDatas.get(position + curIndex * pageSize);
// }
@Override
public RoonGiftModel getItem(int position) {
return mDatas.get(position);
// return mDatas.get(position + curIndex * pageSize);
protected void convert(@NonNull BaseViewHolder helper, RoonGiftModel giftModel) {
helper.getView(R.id.cl_gift).setOnClickListener(v -> {
// RoonGiftModel clickedModel = (RoonGiftModel) v.getTag();
if (giftModel.getIs_lock() == 0) {
EventBus.getDefault().post(new RoomGiftClickToEvent(this, giftModel, 1));
} else if (giftModel.getIs_lock() == 1) {
ToastUtils.show("当前属于爵位礼物,请开通爵位");
}
});
if (giftModel.getIs_lock() == 0) {
helper.setVisible(R.id.iv_gift_select,false);
} else {
helper.setVisible(R.id.iv_gift_select,true);
}
if (TextUtils.isEmpty(giftModel.getIcon())) {
helper.setVisible(R.id.im_heartssss,false);
}else {
helper.setVisible(R.id.im_heartssss,true);
ImageUtils.loadHead(giftModel.getIcon(), helper.getView(R.id.im_heartssss));
}
//设置礼物名字
helper.setText(R.id.tv_gift_name,giftModel.getGift_name());
if (TextUtils.isEmpty(giftModel.getNum())){
helper.setVisible(R.id.integral, false);
}else {
helper.setVisible(R.id.integral, true).setText(R.id.integral, "x" + giftModel.getNum());
}
//设置礼物价格
String surplusTxt = giftModel.getGift_price();
SpannableStringBuilder stringBuilder = new SpannableStringBuilder(surplusTxt);
//ForegroundColorSpan 为文字前景色BackgroundColorSpan为文字背景色
ForegroundColorSpan redSpan = new ForegroundColorSpan(mContext.getResources().getColor(R.color.color_FFA9A9A9));
stringBuilder.setSpan(redSpan, surplusTxt.length(), surplusTxt.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);//修改最后两个字体的颜色
helper.setText(R.id.tv_gift_price,stringBuilder);
// viewHolder.item_layout.setTag(R.id.id_gift_tag, giftModel);
//加载礼物图片
ImageUtils.loadImageView(giftModel.getBase_image(), helper.getView(R.id.iv_gift_pic));
//设置选中后的样式
if (giftModel.isChecked()) {//被选中
helper.getView(R.id.cl_iv_down_on).setBackgroundResource(R.mipmap.room_gift_bjx);
helper.setVisible(R.id.iv_down_on,false);
} else {
helper.getView(R.id.cl_iv_down_on).setBackgroundResource(0);
helper.setVisible(R.id.iv_down_on,false);
}
if (giftModel.getGift_bag() == 10) {
helper.setText(R.id.tv_gift_name,"");
helper.getView(R.id.cl_gift).setBackgroundResource(R.mipmap.gift_tkzj);
helper.getView(R.id.tv_gift_name).setBackgroundResource(R.mipmap.gift_name_tkzj);
} else if (giftModel.getGift_bag() == 11) {
helper.setText(R.id.tv_gift_name,"");
helper.getView(R.id.cl_gift).setBackgroundResource(R.mipmap.gift_syzc);
helper.getView(R.id.tv_gift_name).setBackgroundResource(R.mipmap.gift_name_syzc);
} else if (giftModel.getGift_bag() == 12) {
helper.setText(R.id.tv_gift_name,"");
helper.getView(R.id.cl_gift).setBackgroundResource(R.mipmap.gift_sjzd);
helper.getView(R.id.tv_gift_name).setBackgroundResource(R.mipmap.gift_name_skzd);
}
}
@Override
@@ -120,130 +190,130 @@ public class GiftRoomAdapter extends BaseAdapter {
}
@Override
@SuppressLint({"SetTextI18n", "ClickableViewAccessibility"})
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
RoonGiftModel giftModel = getItem(position);
if (convertView == null) {
convertView = inflater.inflate(R.layout.item_gift_room, parent, false);
viewHolder = new ViewHolder();
viewHolder.item_layout = (ConstraintLayout) convertView.findViewById(R.id.cl_gift);
viewHolder.cl_iv_down_on = (ConstraintLayout) convertView.findViewById(R.id.cl_iv_down_on);
viewHolder.tv_gift_name = (TextView) convertView.findViewById(R.id.tv_gift_name);
viewHolder.tv_gift_price = (TextView) convertView.findViewById(R.id.tv_gift_price);
viewHolder.iv_gift_pic = (ImageView) convertView.findViewById(R.id.iv_gift_pic);
viewHolder.ivDownOn = (ImageView) convertView.findViewById(R.id.iv_down_on);
viewHolder.iv_gift_select = (ImageView) convertView.findViewById(R.id.iv_gift_select);
// im_heart现在位于顶层布局中
viewHolder.im_heart = (ImageView) convertView.findViewById(R.id.im_heartssss);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.item_layout.setOnClickListener(v -> {
// RoonGiftModel clickedModel = (RoonGiftModel) v.getTag();
if (giftModel.getIs_lock() == 0) {
EventBus.getDefault().post(new RoomGiftClickToEvent(this, giftModel, 1));
} else if (giftModel.getIs_lock() == 1) {
ToastUtils.show("当前属于爵位礼物,请开通爵位");
}
});
if (giftModel.getIs_lock() == 0) {
viewHolder.iv_gift_select.setVisibility(GONE);
} else {
viewHolder.iv_gift_select.setVisibility(VISIBLE);
}
if (TextUtils.isEmpty(giftModel.getIcon())) {
viewHolder.im_heart.setVisibility(GONE);
}else {
viewHolder.im_heart.setVisibility(VISIBLE);
ImageUtils.loadHead(giftModel.getIcon(), viewHolder.im_heart);
}
// if (giftModel.getIs_cp() == 0 && giftModel.getIs_teacher() == 0 ) {//这是cp礼物
// viewHolder.im_heart.setVisibility(GONE);
// @Override
// @SuppressLint({"SetTextI18n", "ClickableViewAccessibility"})
// public View getView(int position, View convertView, ViewGroup parent) {
// ViewHolder viewHolder;
// RoonGiftModel giftModel = getItem(position);
// if (convertView == null) {
// convertView = inflater.inflate(R.layout.item_gift_room, parent, false);
// viewHolder = new ViewHolder();
// viewHolder.item_layout = (ConstraintLayout) convertView.findViewById(R.id.cl_gift);
// viewHolder.cl_iv_down_on = (ConstraintLayout) convertView.findViewById(R.id.cl_iv_down_on);
// viewHolder.tv_gift_name = (TextView) convertView.findViewById(R.id.tv_gift_name);
// viewHolder.tv_gift_price = (TextView) convertView.findViewById(R.id.tv_gift_price);
// viewHolder.iv_gift_pic = (ImageView) convertView.findViewById(R.id.iv_gift_pic);
// viewHolder.ivDownOn = (ImageView) convertView.findViewById(R.id.iv_down_on);
// viewHolder.iv_gift_select = (ImageView) convertView.findViewById(R.id.iv_gift_select);
//
// // im_heart现在位于顶层布局中
// viewHolder.im_heart = (ImageView) convertView.findViewById(R.id.im_heartssss);
// convertView.setTag(viewHolder);
// } else {
// if (viewHolder.im_heart != null) {
// viewHolder.im_heart.setVisibility(VISIBLE);
// if (giftModel.getIs_cp() == 1) {
// viewHolder.im_heart.setImageResource(R.mipmap.icon_heart);
// }else if (giftModel.getIs_teacher() == 1) {
// viewHolder.im_heart.setImageResource(R.mipmap.icon_teacher);
// }
// viewHolder = (ViewHolder) convertView.getTag();
// }
//
// viewHolder.item_layout.setOnClickListener(v -> {
//// RoonGiftModel clickedModel = (RoonGiftModel) v.getTag();
// if (giftModel.getIs_lock() == 0) {
// EventBus.getDefault().post(new RoomGiftClickToEvent(this, giftModel, 1));
// } else if (giftModel.getIs_lock() == 1) {
// ToastUtils.show("当前属于爵位礼物,请开通爵位");
// }
// }
/*
* 在给View绑定显示的数据时计算正确的position = position + curIndex * pageSize
*/
// viewHolder.tv_gift_num.setVisibility(type.equals("1") ? View.VISIBLE : View.INVISIBLE);
// viewHolder.tv_gift_change_love_values.setVisibility(View.GONE);
//设置礼物名字
viewHolder.tv_gift_name.setText(giftModel.getGift_name());
//设置礼物价格
String surplusTxt = giftModel.getGift_price();
SpannableStringBuilder stringBuilder = new SpannableStringBuilder(surplusTxt);
//ForegroundColorSpan 为文字前景色BackgroundColorSpan为文字背景色
ForegroundColorSpan redSpan = new ForegroundColorSpan(mContext.getResources().getColor(R.color.color_FFA9A9A9));
stringBuilder.setSpan(redSpan, surplusTxt.length(), surplusTxt.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);//修改最后两个字体的颜色
viewHolder.tv_gift_price.setText(stringBuilder);
// viewHolder.item_layout.setTag(R.id.id_gift_tag, giftModel);
//加载礼物图片
ImageUtils.loadImageView(giftModel.getBase_image(), viewHolder.iv_gift_pic);
//设置选中后的样式
if (giftModel.isChecked()) {//被选中
viewHolder.cl_iv_down_on.setBackgroundResource(R.mipmap.room_gift_bjx);
viewHolder.ivDownOn.setVisibility(View.GONE);
} else {
viewHolder.ivDownOn.setVisibility(View.GONE);
viewHolder.cl_iv_down_on.setBackgroundResource(0);
}
//设置
// //设置礼物心动值
// if (giftModel.getCardiac().equals("0")) {
// viewHolder.tv_gift_change_love_values.setBackgroundResource(R.mipmap.room_gift_xin_dong_reduce);
// viewHolder.tv_gift_change_love_values.setText(String.format("%s", giftModel.getCardiac()));
// });
// if (giftModel.getIs_lock() == 0) {
// viewHolder.iv_gift_select.setVisibility(GONE);
// } else {
// viewHolder.tv_gift_change_love_values.setBackgroundResource(R.mipmap.room_gift_xin_dong_add);
// viewHolder.tv_gift_change_love_values.setText(String.format("+%s", giftModel.getCardiac()));
// viewHolder.iv_gift_select.setVisibility(VISIBLE);
// }
// if (giftModel.isManghe()) {
// viewHolder.tv_gift_change_love_values.setVisibility(View.GONE);
// if (TextUtils.isEmpty(giftModel.getIcon())) {
// viewHolder.im_heart.setVisibility(GONE);
// }else {
// viewHolder.im_heart.setVisibility(VISIBLE);
// ImageUtils.loadHead(giftModel.getIcon(), viewHolder.im_heart);
// }
if (giftModel.getGift_bag() == 10) {
viewHolder.item_layout.setBackgroundResource(R.mipmap.gift_tkzj);
viewHolder.tv_gift_name.setText("");
viewHolder.tv_gift_name.setBackgroundResource(R.mipmap.gift_name_tkzj);
} else if (giftModel.getGift_bag() == 11) {
viewHolder.tv_gift_name.setText("");
viewHolder.item_layout.setBackgroundResource(R.mipmap.gift_syzc);
viewHolder.tv_gift_name.setBackgroundResource(R.mipmap.gift_name_syzc);
} else if (giftModel.getGift_bag() == 12) {
viewHolder.tv_gift_name.setText("");
viewHolder.item_layout.setBackgroundResource(R.mipmap.gift_sjzd);
viewHolder.tv_gift_name.setBackgroundResource(R.mipmap.gift_name_skzd);
}
return convertView;
}
static class ViewHolder {
public ConstraintLayout item_layout;
public TextView tv_gift_name, tv_gift_price, tv_gift_num;
public ImageView iv_gift_pic;
public TextView tv_gift_change_love_values;
public ImageView ivDownOn;
public ImageView iv_gift_select;
public ImageView im_heart;
public ConstraintLayout cl_iv_down_on;
}
//
//// if (giftModel.getIs_cp() == 0 && giftModel.getIs_teacher() == 0 ) {//这是cp礼物
//// viewHolder.im_heart.setVisibility(GONE);
//// } else {
//// if (viewHolder.im_heart != null) {
//// viewHolder.im_heart.setVisibility(VISIBLE);
//// if (giftModel.getIs_cp() == 1) {
//// viewHolder.im_heart.setImageResource(R.mipmap.icon_heart);
//// }else if (giftModel.getIs_teacher() == 1) {
//// viewHolder.im_heart.setImageResource(R.mipmap.icon_teacher);
//// }
//// }
//// }
//
//
// /*
// * 在给View绑定显示的数据时计算正确的position = position + curIndex * pageSize
// */
//// viewHolder.tv_gift_num.setVisibility(type.equals("1") ? View.VISIBLE : View.INVISIBLE);
//// viewHolder.tv_gift_change_love_values.setVisibility(View.GONE);
//
//
// //设置礼物名字
// viewHolder.tv_gift_name.setText(giftModel.getGift_name());
// //设置礼物价格
// String surplusTxt = giftModel.getGift_price();
// SpannableStringBuilder stringBuilder = new SpannableStringBuilder(surplusTxt);
// //ForegroundColorSpan 为文字前景色BackgroundColorSpan为文字背景色
// ForegroundColorSpan redSpan = new ForegroundColorSpan(mContext.getResources().getColor(R.color.color_FFA9A9A9));
// stringBuilder.setSpan(redSpan, surplusTxt.length(), surplusTxt.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);//修改最后两个字体的颜色
// viewHolder.tv_gift_price.setText(stringBuilder);
//// viewHolder.item_layout.setTag(R.id.id_gift_tag, giftModel);
//
// //加载礼物图片
// ImageUtils.loadImageView(giftModel.getBase_image(), viewHolder.iv_gift_pic);
// //设置选中后的样式
//
// if (giftModel.isChecked()) {//被选中
// viewHolder.cl_iv_down_on.setBackgroundResource(R.mipmap.room_gift_bjx);
// viewHolder.ivDownOn.setVisibility(View.GONE);
// } else {
// viewHolder.ivDownOn.setVisibility(View.GONE);
// viewHolder.cl_iv_down_on.setBackgroundResource(0);
// }
// //设置
//// //设置礼物心动值
//// if (giftModel.getCardiac().equals("0")) {
//// viewHolder.tv_gift_change_love_values.setBackgroundResource(R.mipmap.room_gift_xin_dong_reduce);
//// viewHolder.tv_gift_change_love_values.setText(String.format("%s", giftModel.getCardiac()));
//// } else {
//// viewHolder.tv_gift_change_love_values.setBackgroundResource(R.mipmap.room_gift_xin_dong_add);
//// viewHolder.tv_gift_change_love_values.setText(String.format("+%s", giftModel.getCardiac()));
//// }
//// if (giftModel.isManghe()) {
//// viewHolder.tv_gift_change_love_values.setVisibility(View.GONE);
//// }
// if (giftModel.getGift_bag() == 10) {
//
// viewHolder.item_layout.setBackgroundResource(R.mipmap.gift_tkzj);
// viewHolder.tv_gift_name.setText("");
// viewHolder.tv_gift_name.setBackgroundResource(R.mipmap.gift_name_tkzj);
// } else if (giftModel.getGift_bag() == 11) {
// viewHolder.tv_gift_name.setText("");
// viewHolder.item_layout.setBackgroundResource(R.mipmap.gift_syzc);
// viewHolder.tv_gift_name.setBackgroundResource(R.mipmap.gift_name_syzc);
// } else if (giftModel.getGift_bag() == 12) {
// viewHolder.tv_gift_name.setText("");
// viewHolder.item_layout.setBackgroundResource(R.mipmap.gift_sjzd);
// viewHolder.tv_gift_name.setBackgroundResource(R.mipmap.gift_name_skzd);
// }
// return convertView;
// }
//
//
// static class ViewHolder {
// public ConstraintLayout item_layout;
// public TextView tv_gift_name, tv_gift_price, tv_gift_num;
// public ImageView iv_gift_pic;
// public TextView tv_gift_change_love_values;
// public ImageView ivDownOn;
// public ImageView iv_gift_select;
// public ImageView im_heart;
// public ConstraintLayout cl_iv_down_on;
// }
}

View File

@@ -79,7 +79,7 @@ public class GiftTwoDetailsFragment extends BaseMvpFragment<RewardGiftPresenter,
}
public void loadDataIfNeeded(String id, int type, String roomId) {
if (MvpPre==null){
if (MvpPre == null) {
MvpPre = new RewardGiftPresenter(this, getActivity());
}
if (id.equals("0")) {
@@ -95,11 +95,12 @@ public class GiftTwoDetailsFragment extends BaseMvpFragment<RewardGiftPresenter,
}
}
bdgiftId = "";
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onString(GiftPackEvent event) {
if (event!=null && event.getBdid()!=null) {
if (event != null && event.getBdid() != null) {
bdgiftId = event.getBdid();
MvpPre.giftPack();
}
@@ -107,7 +108,7 @@ public class GiftTwoDetailsFragment extends BaseMvpFragment<RewardGiftPresenter,
@Override
protected void initData() {
if (type==0){
if (type == 0) {
MvpPre.getGiftList("0", type, roomId);
}
}
@@ -157,6 +158,7 @@ public class GiftTwoDetailsFragment extends BaseMvpFragment<RewardGiftPresenter,
if (pageCount > 0) {
roomAdapter = new GiftRoomAdapter(CommonAppContext.getInstance(), data, 0, "0");
mBinding.rvGift.setAdapter(roomAdapter);
roomAdapter.setNewData(data);
}
}
@@ -223,6 +225,11 @@ public class GiftTwoDetailsFragment extends BaseMvpFragment<RewardGiftPresenter,
}
@Override
public void roomHotCard() {
}
@Override
public void getRewardList(List<RewardUserBean> rewardUserBeanList) {
@@ -300,7 +307,7 @@ public class GiftTwoDetailsFragment extends BaseMvpFragment<RewardGiftPresenter,
giftModel.setChecked(true);
roonGiftModel.setChecked(giftModel.isChecked());
EventBus.getDefault().post(new GiftUserRefreshEvent(true, event.type, roonGiftModel));
}else {
} else {
giftModel.setChecked(false);
roonGiftModel.setChecked(giftModel.isChecked());
}
@@ -330,7 +337,7 @@ public class GiftTwoDetailsFragment extends BaseMvpFragment<RewardGiftPresenter,
giftModel.setChecked(true);
roonGiftModel.setChecked(giftModel.isChecked());
EventBus.getDefault().post(new GiftUserRefreshEvent(true, event.type, roonGiftModel));
}else {
} else {
giftModel.setChecked(false);
roonGiftModel.setChecked(giftModel.isChecked());
EventBus.getDefault().post(new GiftUserRefreshEvent(true, event.type, roonGiftModel));

View File

@@ -22,6 +22,7 @@ public class ZhuangBanShangChengBean {
private boolean is_select = false;
private int num ;//数量
private String ext_value="" ;//这是使用降身卡的时候返回的参数对应的是降身卡的前面类似10%
private String price ="";//价格
public boolean isIs_select() {
return is_select;

View File

@@ -483,8 +483,8 @@ public interface ApiServer {
@POST(Constants.GET_ALBUM_DETAIL)
Call<BaseModel<AlbumBean>> getAlbumDetail(@Field("album_id") String albumId, @Field("pwd") String pwd, @Field("page") String page, @Field("page_limit") String page_limit);
@GET(Constants.GET_PERSONALTY)
Call<BaseModel<List<PersonaltyBean>>> getPersonaltyList();
@GET(Constants.GET_PERSONALTY) // from 来源: 1:道具商城 2个性装扮
Call<BaseModel<List<PersonaltyBean>>> getPersonaltyList(@Query("from")String frome);
@FormUrlEncoded
@POST(Constants.GET_SUBSIDY)
@@ -950,6 +950,10 @@ public interface ApiServer {
@GET(Constants.GET_GIFT_PACK_LIST_COUNT)
Call<BaseModel<GiftPackListCount>> getGiftPackListCount();
@FormUrlEncoded
@POST(Constants.POST_ROOM_HOT_CARD)
Call<BaseModel<String>> roomHotCard(@Field("udid") String udid, @Field("room_id") String room_id, @Field("num") String num);
@GET(Constants.GET_GIFT_INFO_TA)
Call<BaseModel<RoonGiftModel>> getGiftInfoTa(@Query("room_id") String roomId, @Query("to_user_id") String user_id);

View File

@@ -1296,6 +1296,34 @@ public class RetrofitClient {
});
}
public void roomHotCard(String udid, String room_id, String num, BaseObserver<String> observer) {
sApiServer.roomHotCard(udid, room_id, num).enqueue(new Callback<BaseModel<String>>(){
@Override
public void onResponse(Call<BaseModel<String>> call, Response<BaseModel<String>> response) {
if (response.code() == 200) {
BaseModel<String> baseModel = response.body();
if (baseModel.getCode() == 1) {
ToastUtils.showLong(baseModel.getMsg());
observer.onNext(baseModel.getMsg());
} else if (baseModel.getCode() == 301) {
setCode301(baseModel.getMsg());
} else if (baseModel.getCode() == 0) {
ToastUtils.showLong(baseModel.getMsg());
}
}else {
ToastUtils.showLong("使用热度卡出现错误", response.code());
LogUtils.e("roomHotCard", response.message());
}
}
@Override
public void onFailure(Call<BaseModel<String>> call, Throwable t) {
LogUtils.e("roomHotCard", t.fillInStackTrace());
}
});
}
public void getGiftInfoTa(String roomId, String userId, BaseObserver<RoonGiftModel> observer) {
sApiServer.getGiftInfoTa(roomId, userId).enqueue(new Callback<BaseModel<RoonGiftModel>>() {
@@ -2917,8 +2945,8 @@ public class RetrofitClient {
// sApiServer.getSubsidyDetail(roomId).compose(new DefaultTransformer<>()).subscribe(observer);
}
public void getPersonaltyList(BaseObserver<List<PersonaltyBean>> observer) {
sApiServer.getPersonaltyList().enqueue(new Callback<BaseModel<List<PersonaltyBean>>>() {
public void getPersonaltyList(String from,BaseObserver<List<PersonaltyBean>> observer) {
sApiServer.getPersonaltyList(from).enqueue(new Callback<BaseModel<List<PersonaltyBean>>>() {
@Override
public void onResponse(Call<BaseModel<List<PersonaltyBean>>> call, Response<BaseModel<List<PersonaltyBean>>> response) {
if (response.code() == 200) {

View File

@@ -32,6 +32,8 @@ public class RewardGiftContacts {
void getGiftPack(String s);
void getGiftPackListCount(GiftPackListCount giftPackListCount);
void roomHotCard();
}
public interface IIndexPre extends IPresenter {
@@ -57,5 +59,7 @@ public class RewardGiftContacts {
void getGiftPack(String roomId,String userId,String heart_id,String auction_id );
void getGiftPackListCount();
void roomHotCard(String udid,String room_id,String num);
}
}

View File

@@ -252,4 +252,23 @@ public class RewardGiftPresenter extends BasePresenter<RewardGiftContacts.View>
}
});
}
@Override
public void roomHotCard(String udid, String room_id, String num) {
RetrofitClient.getInstance().roomHotCard(udid, room_id, num, new BaseObserver<String>() {
@Override
public void onSubscribe(Disposable d) {
addDisposable(d);
}
@Override
public void onNext(String s) {
if (MvpRef == null) {
MvpRef = new WeakReference<>(mView);
}
MvpRef.get().roomHotCard();
}
});
}
}

View File

@@ -434,6 +434,7 @@ public class Constants {
public static final String POST_GIFT_ALL_CLEAR = "/api/Room/room_gift_all_clear";//背包礼物全清
public static final String POST_ROOM_USER_CHARM_LIST = "/api/Room/room_user_charm_list";//房间用户当前魅力值列表
public static final String GET_GIFT_PACK_LIST_COUNT = "/api/UserGiftPack/get_gift_pack_list_count";//背包礼物总价值
public static final String POST_ROOM_HOT_CARD = "/api/Decorate/room_hot_card";//用户房间热度卡使用
public static final String ROOM_USER_RECONNECT = "/api/Room/user_reconnect";//用户重连
public static final String USER_ROOM_BACK = "/api/Room/user_in_room_background";//用户在房间内切后台保留数据操作
public static final String ROOM_HOUR_BEAN = "/api/RoomHourRanking/room_hour_ranking";//房间小时榜

View File

@@ -202,4 +202,9 @@ public class RewardDialogFragment extends BaseMvpDialogFragment<RewardGiftPresen
public void getGiftPackListCount(GiftPackListCount giftPackListCount) {
}
@Override
public void roomHotCard() {
}
}

View File

@@ -331,6 +331,11 @@ public class RewardGiftDialogFragment extends BaseMvpDialogFragment<RewardGiftPr
}
@Override
public void roomHotCard() {
}
@Override
public void onDestroyView() {
super.onDestroyView();

View File

@@ -5,6 +5,7 @@
android:id="@+id/cl_gift"
android:layout_width="@dimen/dp_77"
android:layout_height="@dimen/dp_119"
android:layout_marginVertical="@dimen/dp_5"
android:background="@mipmap/gift_bj">
<androidx.constraintlayout.widget.ConstraintLayout

View File

@@ -1,17 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
>
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
</data>
<GridView
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/rv_gift"
android:gravity="center"
android:listSelector="#00000000"
android:numColumns="4"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:spanCount="4"
android:stretchMode="columnWidth"
android:verticalSpacing="10dp"
/>

View File

@@ -84,11 +84,13 @@ class GroupChatSettingsActivity :
mBinding?.switJy?.setOnCheckedChangeListener { compoundButton, b ->
v2TIMGroupManager?.muteAllGroupMembers(groupId, b, object : V2TIMCallback {
override fun onSuccess() {
mBinding?.switJy?.isChecked = !b
// mBinding?.switJy?.isChecked = !b
ToastUtils.showLong(if (b) "已开启全员禁言" else "已关闭全员禁言")
}
override fun onError(code: Int, desc: String?) {
mBinding?.switJy?.isChecked = !b
ToastUtils.showLong("禁言失败",code,desc)
}
})
}

View File

@@ -6,6 +6,7 @@ import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentStatePagerAdapter;
import com.xscm.modulemain.R;
import com.xscm.modulemain.activity.user.fragment.mybag.HeatCardFragment;
import com.xscm.modulemain.databinding.ActivityMyBagBinding;
import com.xscm.modulemain.activity.user.conacts.MyBagConacts;
import com.xscm.modulemain.activity.user.fragment.mybag.MyBagFragment;
@@ -15,6 +16,7 @@ import com.xscm.modulemain.BaseMvpActivity;
import com.xscm.moduleutil.bean.GiftPackBean;
import com.xscm.moduleutil.bean.MyBagBean;
import com.xscm.moduleutil.bean.MyBagDataBean;
import com.xscm.moduleutil.bean.zhuangb.ZhuangBanShangChengBean;
import java.util.ArrayList;
import java.util.List;
@@ -34,8 +36,9 @@ public class MyBagActivity extends BaseMvpActivity<MyBagPresenter, ActivityMyBag
list=new ArrayList<>();
list.add(new MyBagBean("背包道具", "1"));
list.add(new MyBagBean("背包收入", "2"));
list.add(new MyBagBean("背包支出", "3"));
list.add(new MyBagBean("热度卡", "2"));
list.add(new MyBagBean("背包收入", "3"));
list.add(new MyBagBean("背包支出", "4"));
mBinding.viewPager.setAdapter(new MyFragmentPagerAdapter(getSupportFragmentManager(), list));
mBinding.slidingTabLayout.setViewPager(mBinding.viewPager);
@@ -72,6 +75,11 @@ public class MyBagActivity extends BaseMvpActivity<MyBagPresenter, ActivityMyBag
}
@Override
public void getDecorateList(List<ZhuangBanShangChengBean> zhuangBanShangChengBeans, int tabIndex) {
}
private static class MyFragmentPagerAdapter extends FragmentStatePagerAdapter {
@@ -88,7 +96,9 @@ public class MyBagActivity extends BaseMvpActivity<MyBagPresenter, ActivityMyBag
MyBagBean model = list.get(position);
if ("1".equals(model.getMyBagType())){
return MyBagFragment.newInstance(model.getMyBagType());
}else {
} else if ("2".equals(model.getMyBagType())){
return HeatCardFragment.Companion.newInstance();
} else {
return MyBagListFragment.newInstance(model.getMyBagType());
}
}

View File

@@ -44,7 +44,7 @@ public class PersonalityActivity extends BaseMvpActivity<PersonalityPresenter, A
if (MvpPre==null){
MvpPre=bindPresenter();
}
MvpPre.getPersonaltyList();
MvpPre.getPersonaltyList("2");
}
@Override

View File

@@ -26,25 +26,28 @@ import com.xscm.moduleutil.utils.ColorManager
import com.xscm.moduleutil.utils.ImageUtils
/**
* @Author qx
* @Time 2026/1/3 17:08
* @Description 道具商城
*/
class PropMallActivity : BaseMvpActivity<PersonalityPresenter, ActivityPropMallBinding>(), PersonalityConacts.View {
* @Author qx
* @Time 2026/1/3 17:08
* @Description 道具商城
*/
class PropMallActivity : BaseMvpActivity<PersonalityPresenter, ActivityPropMallBinding>(),
PersonalityConacts.View {
private lateinit var sectionsPagerAdapter: SectionsPagerAdapter
private var id: String = ""
override fun bindPresenter(): PersonalityPresenter {
return PersonalityPresenter(this,this)
return PersonalityPresenter(this, this)
}
override fun initData() {
// 加载道具商城数据
mBinding.topBar.tvTitle.text="道具商城"
id = intent.getStringExtra("id") ?: ""
mBinding.topBar.tvTitle.text = "道具商城"
MvpPre.getBanners("7")
MvpPre.getPersonaltyList()
MvpPre.getPersonaltyList("1")
mBinding.banner.loadImage(object : XBannerAdapter {
override fun loadBanner(banner: XBanner?, model: Any?, view: View?, position: Int) {
@@ -77,7 +80,8 @@ class PropMallActivity : BaseMvpActivity<PersonalityPresenter, ActivityPropMallB
override fun getPersonaltyList(personaltyBean: List<PersonaltyBean?>?) {
sectionsPagerAdapter = SectionsPagerAdapter( this,
sectionsPagerAdapter = SectionsPagerAdapter(
this,
personaltyBean as List<PersonaltyBean>
)
mBinding.viewPager.adapter = sectionsPagerAdapter
@@ -113,6 +117,13 @@ class PropMallActivity : BaseMvpActivity<PersonalityPresenter, ActivityPropMallB
}
).attach()
var poisition = 0
for (i in 0 until personaltyBean.size) {
if (personaltyBean.get(i).id.equals(id)) {//这里的id是判断是否是从房间点击的热度卡进行跳转的热度卡传递的id是写死的13
poisition = i
}
}
mBinding.slidingTabLayout.addOnTabSelectedListener(object :
TabLayout.OnTabSelectedListener {
override fun onTabSelected(tab: TabLayout.Tab) {
@@ -150,14 +161,15 @@ class PropMallActivity : BaseMvpActivity<PersonalityPresenter, ActivityPropMallB
// 初始加载第一个tab的数据
mBinding.viewPager.post {
val firstFragment = sectionsPagerAdapter.getFragment(0)
val firstFragment = sectionsPagerAdapter.getFragment(poisition)
if (firstFragment is PlaceholderFragment) {
firstFragment.loadDataIfNeeded()
}
}
// 添加ViewPager2页面切换监听实现按需加载数据
mBinding.viewPager.registerOnPageChangeCallback(object : androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback() {
mBinding.viewPager.registerOnPageChangeCallback(object :
androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback() {
override fun onPageSelected(position: Int) {
super.onPageSelected(position)
// 通知当前选中的Fragment加载数据
@@ -167,14 +179,27 @@ class PropMallActivity : BaseMvpActivity<PersonalityPresenter, ActivityPropMallB
}
}
})
//这是进行页面的跳转记录,根据上面的判断,是否是从房间热度卡跳转的
switchToTab(poisition)
}
private fun switchToTab(position: Int) {
// 检查position是否有效
if (position >= 0 && position < (mBinding.viewPager.adapter?.itemCount ?: 0)) {
// 设置ViewPager的当前页面
mBinding.viewPager.setCurrentItem(position, true)
// 如果有TabLayout也同步更新
mBinding.slidingTabLayout?.getTabAt(position)?.select()
}
}
override fun setBanners(bannerModels: List<BannerModel?>?) {
if (bannerModels!=null) {
mBinding.banner.visibility= View.VISIBLE
if (bannerModels != null) {
mBinding.banner.visibility = View.VISIBLE
mBinding.banner.setBannerData(R.layout.index_image_banner, bannerModels!!)
}else{
mBinding.banner.visibility= View.GONE
} else {
mBinding.banner.visibility = View.GONE
}
}

View File

@@ -6,6 +6,7 @@ import com.xscm.moduleutil.activity.IPresenter;
import com.xscm.moduleutil.activity.IView;
import com.xscm.moduleutil.bean.GiftPackBean;
import com.xscm.moduleutil.bean.MyBagDataBean;
import com.xscm.moduleutil.bean.zhuangb.ZhuangBanShangChengBean;
import java.util.List;
@@ -16,11 +17,16 @@ public class MyBagConacts {
void packOutcome(List<MyBagDataBean> myBagDataBean);
void giftPack(List<GiftPackBean> giftPackBean);
void finishRefreshLoadMore();
void getDecorateList(List<ZhuangBanShangChengBean> zhuangBanShangChengBeans, int tabIndex);
}
public interface IMePre extends IPresenter {
void packIncome(String page,String page_limit);
void packOutcome(String page,String page_limit);
void giftPack();
void getDecorateList(String type,int tabIndex);
}
}

View File

@@ -19,7 +19,7 @@ public class PersonalityConacts {
}
public interface IMePre extends IPresenter {
void getPersonaltyList();
void getPersonaltyList(String from);
void getPersonaltyListBean(String type);
}

View File

@@ -0,0 +1,74 @@
package com.xscm.modulemain.activity.user.fragment.mybag
import androidx.recyclerview.widget.GridLayoutManager
import com.blankj.utilcode.util.ActivityUtils
import com.xscm.modulemain.R
import com.xscm.modulemain.activity.user.conacts.MyBagConacts
import com.xscm.modulemain.activity.user.fragment.zhuangb.ZhuangBanShangChengAdapter
import com.xscm.modulemain.activity.user.presenter.MyBagPresenter
import com.xscm.modulemain.databinding.FragmentHeatCardBinding
import com.xscm.moduleutil.base.BaseMvpFragment
import com.xscm.moduleutil.bean.GiftPackBean
import com.xscm.moduleutil.bean.MyBagDataBean
import com.xscm.moduleutil.bean.zhuangb.ZhuangBanShangChengBean
/**
* 项目名称:羽声语音
* 时间2026/1/23 14:07
* 用途热度卡fragment
*/
class HeatCardFragment : BaseMvpFragment<MyBagPresenter, FragmentHeatCardBinding>(),
MyBagConacts.View {
var mAdapter: ZhuangBanShangChengAdapter? =null
override fun bindPresenter(): MyBagPresenter {
return MyBagPresenter(this, ActivityUtils.getTopActivity())
}
// 无参构造函数
companion object {
fun newInstance(): HeatCardFragment {
return HeatCardFragment()
}
}
override fun initData() {
MvpPre.getDecorateList("13",0)
val gridLayoutManager = GridLayoutManager(context, 3)
mAdapter = ZhuangBanShangChengAdapter()
mBinding.recyclerView.setLayoutManager(gridLayoutManager)
mBinding.recyclerView.setAdapter(mAdapter)
}
override fun initView() {
}
override fun getLayoutId(): Int {
return R.layout.fragment_heat_card
}
override fun packIncome(myBagDataBean: List<MyBagDataBean?>?) {
}
override fun packOutcome(myBagDataBean: List<MyBagDataBean?>?) {
}
override fun giftPack(giftPackBean: List<GiftPackBean?>?) {
}
override fun finishRefreshLoadMore() {
}
override fun getDecorateList(
zhuangBanShangChengBeans: List<ZhuangBanShangChengBean?>?,
tabIndex: Int
) {
mAdapter?.setNewData(zhuangBanShangChengBeans)
}
}

View File

@@ -87,4 +87,9 @@ public class MyBagFragment extends BaseMvpFragment<MyBagPresenter, FragmentMyBag
public void finishRefreshLoadMore() {
}
@Override
public void getDecorateList(List<ZhuangBanShangChengBean> zhuangBanShangChengBeans, int tabIndex) {
}
}

View File

@@ -14,6 +14,7 @@ import com.xscm.modulemain.activity.user.presenter.MyBagPresenter;
import com.xscm.moduleutil.base.BaseMvpFragment;
import com.xscm.moduleutil.bean.GiftPackBean;
import com.xscm.moduleutil.bean.MyBagDataBean;
import com.xscm.moduleutil.bean.zhuangb.ZhuangBanShangChengBean;
import java.util.List;
@@ -39,17 +40,17 @@ public class MyBagListFragment extends BaseMvpFragment<MyBagPresenter, FragmentM
@Override
public void initArgs(Bundle arguments) {
super.initArgs(arguments);
type = arguments.getString("type", "2");
type = arguments.getString("type", "3");
}
@Override
protected void initData() {
if (type.equals("1")){
}else if (type.equals("2")){
}else if (type.equals("3")){
page=1;
MvpPre.packIncome("1","30");
}else if (type.equals("3")){
}else if (type.equals("4")){
page=1;
MvpPre.packOutcome("1","30");
}
@@ -61,10 +62,10 @@ public class MyBagListFragment extends BaseMvpFragment<MyBagPresenter, FragmentM
mBinding.smartRefreshLayout.setOnLoadMoreListener(new OnRefreshLoadMoreListener() {
@Override
public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
if (type.equals("2")) {
if (type.equals("3")) {
page++;
MvpPre.packIncome(page + "", "30");
}else if (type.equals("3")){
}else if (type.equals("4")){
page++;
MvpPre.packOutcome(page + "", "30");
}
@@ -72,10 +73,10 @@ public class MyBagListFragment extends BaseMvpFragment<MyBagPresenter, FragmentM
@Override
public void onRefresh(@NonNull RefreshLayout refreshLayout) {
if (type.equals("2")) {
if (type.equals("3")) {
page = 1;
MvpPre.packIncome(page + "", "30");
}else if (type.equals("3")){
}else if (type.equals("4")){
page = 1;
MvpPre.packOutcome(page + "", "30");
}
@@ -126,4 +127,9 @@ public class MyBagListFragment extends BaseMvpFragment<MyBagPresenter, FragmentM
mBinding.smartRefreshLayout.finishRefresh();
mBinding.smartRefreshLayout.finishLoadMore();
}
@Override
public void getDecorateList(List<ZhuangBanShangChengBean> zhuangBanShangChengBeans, int tabIndex) {
}
}

View File

@@ -1,6 +1,7 @@
package com.xscm.modulemain.activity.user.fragment.zhuangb;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.chad.library.adapter.base.BaseQuickAdapter;
@@ -33,20 +34,40 @@ public class ZhuangBanShangChengAdapter extends BaseQuickAdapter<ZhuangBanShangC
ThemeableDrawableUtils.setThemeableRoundedBackground( tv_integral, ColorManager.getInstance().getPrimaryColorInt(), corners);
tv_integral.setTextColor(ColorManager.getInstance().getButtonColorInt());
helper.setText(R.id.integral, !item.getType().equals("12")?item.getRemaining_day()+"" : "x"+item.getNum())
helper.setText(R.id.integral, (!item.getType().equals("12") && !item.getType().equals("13")) ?item.getRemaining_day()+"" : "x"+item.getNum())
.setText(R.id.tv_name_period, item.getTitle());
// .setText(R.id.tv_time, "(有效期${item.period}天)")
if (item.isIs_select()) {
helper.getView(R.id.zb_bg).setBackgroundResource(com.xscm.moduleutil.R.mipmap.sect_true);
helper.getView(R.id.tv_name_period).setSelected(true);
helper.getView(R.id.integral).setSelected(true);
} else {
helper.getView(R.id.zb_bg).setBackgroundResource(com.xscm.moduleutil.R.mipmap.sect_false);
helper.getView(R.id.tv_name_period).setSelected(false);
helper.getView(R.id.integral).setSelected(false);
}
if (item.getType().equals("13")){
helper.setVisible(R.id.discount,true).setText(R.id.discount, item.getPrice());
// 获取屏幕密度
float density = helper.getView(R.id.zb_bg).getContext().getResources().getDisplayMetrics().density;
// 将dp转换为px
int widthInPx = (int) (90 * density);
int heightInPx = (int) (135 * density);
// 设置布局参数
helper.getView(R.id.zb_bg).setLayoutParams(
new LinearLayout.LayoutParams(widthInPx, heightInPx)
);
helper.setVisible(R.id.im_bj,true);
}else {
helper.setVisible(R.id.im_bj,false);
helper.setVisible(R.id.discount,false);
}
}
}
}

View File

@@ -5,6 +5,7 @@ import android.content.Context;
import com.xscm.modulemain.activity.user.conacts.MyBagConacts;
import com.xscm.moduleutil.bean.GiftPackBean;
import com.xscm.moduleutil.bean.MyBagDataBean;
import com.xscm.moduleutil.bean.zhuangb.ZhuangBanShangChengBean;
import com.xscm.moduleutil.http.BaseObserver;
import com.xscm.moduleutil.presenter.BasePresenter;
@@ -78,4 +79,22 @@ public class MyBagPresenter extends BasePresenter<MyBagConacts.View> implements
}
});
}
@Override
public void getDecorateList(String type,int tabIndex) {
api.getDecorateList(type, new BaseObserver<List<ZhuangBanShangChengBean>>() {
@Override
public void onSubscribe(Disposable d) {
addDisposable(d);
}
@Override
public void onNext(List<ZhuangBanShangChengBean> zhuangBanShangChengBeans) {
if (MvpRef == null) {
MvpRef = new WeakReference<>(mView);
}
MvpRef.get().getDecorateList(zhuangBanShangChengBeans, tabIndex);
}
});
}
}

View File

@@ -25,8 +25,8 @@ public class PersonalityPresenter extends BasePresenter<PersonalityConacts.View>
}
@Override
public void getPersonaltyList() {
api.getPersonaltyList(new BaseObserver<List<PersonaltyBean>>() {
public void getPersonaltyList(String from) {
api.getPersonaltyList(from,new BaseObserver<List<PersonaltyBean>>() {
@Override
public void onSubscribe(Disposable d) {
addDisposable(d);

View File

@@ -148,7 +148,7 @@ class PurchaseOutfitsDialog(context: Context) :
startActivity(Intent(context, RechargeActivity::class.java))
}
if (personaltyListBean != null) {
if (personaltyListBean?.type == 12) {
if (personaltyListBean?.type == 12 || personaltyListBean?.type == 13) {
mBinding.ivOutfits.visibility = View.GONE
mBinding.imJsk.visibility = View.VISIBLE
mBinding.imageHeadPortrait.visibility= View.GONE

View File

@@ -1,5 +1,8 @@
package com.xscm.modulemain.dialog;
import static android.view.View.GONE;
import static android.view.View.VISIBLE;
import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
@@ -26,6 +29,7 @@ import com.blankj.utilcode.util.LogUtils;
import com.hjq.toast.ToastUtils;
import com.xscm.modulemain.Application;
import com.xscm.modulemain.R;
import com.xscm.modulemain.activity.user.activity.PropMallActivity;
import com.xscm.modulemain.adapter.GiftUserAdapter;
import com.xscm.modulemain.databinding.RoomGiftDialogBinding;
import com.xscm.modulemain.activity.WebViewActivity;
@@ -93,6 +97,9 @@ public class RoomGiftDialogFragment extends BaseMvpDialogFragment<RewardGiftPres
private String heart_id = "";//交友房中点击助力需要发送heart_id
private String auction_id;
private boolean isCard = false;//是否是热度卡
@Override
protected RewardGiftPresenter bindPresenter() {
return new RewardGiftPresenter(this, getActivity());
@@ -232,9 +239,9 @@ public class RoomGiftDialogFragment extends BaseMvpDialogFragment<RewardGiftPres
// View.VISIBLE : View.INVISIBLE);//选中了两个以上麦位,一键送礼隐藏
all = gifyuseradapter.isAll();
if (all) {
mBinding.tvAllWheat.setVisibility(View.GONE);
mBinding.tvAllWheat.setVisibility(GONE);
} else {
mBinding.tvAllWheat.setVisibility(View.VISIBLE);
mBinding.tvAllWheat.setVisibility(VISIBLE);
}
gifyuseradapter.notifyItemChanged(position, item);
oldSelectedIds.clear();
@@ -425,14 +432,32 @@ public class RoomGiftDialogFragment extends BaseMvpDialogFragment<RewardGiftPres
giftNumber = mGiftNumList.get(i).getNumber();
}
}
if (packType == 1) {
giveGift(giftNumber);
if (isCard) {
getSelectedGift();
if (TextUtils.isEmpty(roonGiftModel.getGift_id())){
ToastUtils.show("请选择热度卡");
return;
}
MvpPre.roomHotCard(roonGiftModel.getGift_id(), roomId, giftNumber);
} else {
giveGift(giftNumber);
if (packType == 1) {
giveGift(giftNumber);
} else {
giveGift(giftNumber);
}
}
} else if (view1.getId() == R.id.cz) {//充值,当是房间热度卡的时候,就不显示充值,是去购买
if (isCard) {
Intent intent = new Intent(getSelfActivity(), PropMallActivity.class);
intent.putExtra("id", "13");
startActivity(intent);
dismiss();
} else {
RechargeDialogFragment.show(roomId, null, getActivity().getSupportFragmentManager(), "", "");
dismiss();
}
} else if (view1.getId() == R.id.cz) {
RechargeDialogFragment.show(roomId, null, getActivity().getSupportFragmentManager(), "", "");
dismiss();
} else if (view1.getId() == R.id.tv_all_wheat) {//全麦
if (all) {
gifyuseradapter.allElection(false);
@@ -444,27 +469,47 @@ public class RoomGiftDialogFragment extends BaseMvpDialogFragment<RewardGiftPres
all = !all;
oldSelectedIds.clear();
oldSelectedIds.addAll(gifyuseradapter.getAllSelectedIds());
} else if (view1.getId() == R.id.tv_bb_qs) {
int count = gifyuseradapter.getSelectCount();
if (count <= 0) {
ToastUtils.show("请选择打赏的用户");
return;
}
if (gifyuseradapter.getUserIdCount() > 1) {
ToastUtils.show("一键全送只能选择一个用户");
return;
}
if (userInfo != null) {
if (userInfo.getAuction_id() != null) {
auction_id = userInfo.getAuction_id();
} else {
auction_id = "";
} else if (view1.getId() == R.id.tv_bb_qs) {//一键全送,当是热度卡的时候,这里显示的是一件全使用,不需要选择人员的
if (isCard) {
queren2("", "1");
} else {
int count = gifyuseradapter.getSelectCount();
if (count <= 0) {
ToastUtils.show("请选择打赏的用户");
return;
}
if (gifyuseradapter.getUserIdCount() > 1) {
ToastUtils.show("一键全送只能选择一个用户");
return;
}
if (userInfo != null) {
if (userInfo.getAuction_id() != null) {
auction_id = userInfo.getAuction_id();
} else {
auction_id = "";
}
}
queren();
}
queren();
}
}
private void queren2(String udid, String num) {
// 创建并显示确认对话框
new ConfirmDialog(ActivityUtils.getTopActivity(),
"提示",
"是否是全部使用?",
"确认",
"取消",
v -> {
// 点击“确认”按钮时执行删除操作
MvpPre.roomHotCard(udid, roomId, num);
},
v -> {
// 点击“取消”按钮时什么都不做
}, false, 0).show();
}
private void queren() {
// 创建并显示确认对话框
new ConfirmDialog(ActivityUtils.getTopActivity(),
@@ -498,14 +543,14 @@ public class RoomGiftDialogFragment extends BaseMvpDialogFragment<RewardGiftPres
@Subscribe(threadMode = ThreadMode.MAIN)
public void userRefresh(GiftUserRefreshEvent event) {
if (event.gift == null || event.gift.getRule() == null || event.gift.getGift_bag_name() == null) {
mBinding.llGiftRule.setVisibility(View.GONE);
mBinding.llGiftRule.setVisibility(GONE);
} else {
if (event.gift.getActivities_id() == 5) {
showGiftLotteryDialog(event.gift, roomId);
return;
}
mBinding.llGiftRule.setVisibility(View.VISIBLE);
mBinding.llGiftRule.setVisibility(VISIBLE);
setGiftDetail(event.gift);
}
if (event.addSelf) {
@@ -666,7 +711,7 @@ public class RoomGiftDialogFragment extends BaseMvpDialogFragment<RewardGiftPres
roomGiftGiveEvent = new RoomGiftGiveEvent(userId, roomId, pit, num, 0, null, roonGiftModel, heart_id, userInfo.getAuction_id());
EventBus.getDefault().post(roomGiftGiveEvent);
roomGiftGiveEvent = null;
MvpPre.roomAuctionJoin(userInfo.getAuction_id(), userInfo.getUser_id() + "", roonGiftModel.getGift_id(), num, "1",gift_bag);
MvpPre.roomAuctionJoin(userInfo.getAuction_id(), userInfo.getUser_id() + "", roonGiftModel.getGift_id(), num, "1", gift_bag);
dismiss();
}
} else {
@@ -734,7 +779,7 @@ public class RoomGiftDialogFragment extends BaseMvpDialogFragment<RewardGiftPres
@Override
public void getRewardList(List<RewardUserBean> rewardUserBeanList) {
if (rewardUserBeanList != null && !rewardUserBeanList.isEmpty()) {
mBinding.rvGiftUser.setVisibility(View.VISIBLE);
mBinding.rvGiftUser.setVisibility(VISIBLE);
int limit = Math.min(rewardUserBeanList.size(), 6);
List<RewardUserBean> limitedList = rewardUserBeanList.subList(0, limit);
gifyuseradapter.setNewData(limitedList);
@@ -785,7 +830,7 @@ public class RoomGiftDialogFragment extends BaseMvpDialogFragment<RewardGiftPres
@Override
public void onPageSelected(int position) {
// 当页面切换时,控制 tv_bb_qs 按钮的显示
updateTvBbQsVisibility(position);
updateTvBbQsVisibility(position, giftLabelBeans.get(position).getId());
refreshCurrentGiftFragment(giftLabelBeans.get(position).getId(), 1, "1");
}
@@ -795,13 +840,18 @@ public class RoomGiftDialogFragment extends BaseMvpDialogFragment<RewardGiftPres
}
});
// 初始化时设置按钮可见性
updateTvBbQsVisibility(1);
updateTvBbQsVisibility(1, giftLabelBeans.get(1).getId());
}
// 调用示例
private void refreshCurrentGiftFragment(String id, int status, String type) {
if (getCurrentGiftFragment() != null) {
getCurrentGiftFragment().loadDataIfNeeded(id, status, type);
if (id.equals("1013")) {
}
}
}
@@ -819,23 +869,37 @@ public class RoomGiftDialogFragment extends BaseMvpDialogFragment<RewardGiftPres
return null;
}
// 控制 tv_bb_qs 按钮显示的方法
private void updateTvBbQsVisibility(int currentPosition) {
private void updateTvBbQsVisibility(int currentPosition, String id) {
// 假设你希望在特定位置例如位置1显示按钮
if (currentPosition == 0) { // 根据你的需求调整位置
// 显示按钮
if (mBinding.tvBbQs != null) {
mBinding.tvBbQs.setVisibility(View.VISIBLE);
mBinding.cz.setVisibility(View.GONE);
MvpPre.getGiftPackListCount();
}
mBinding.tvBbQs.setVisibility(VISIBLE);
mBinding.cz.setVisibility(GONE);
MvpPre.getGiftPackListCount();
mBinding.tvBbQs.setText("一键全送");
mBinding.tvGive.setText("赠送");
mBinding.rlWheatLayout.setVisibility(VISIBLE);
isCard = false;
} else if (id.equals("1013")) {
mBinding.tvBbQs.setVisibility(VISIBLE);
mBinding.cz.setVisibility(VISIBLE);
mBinding.rlWheatLayout.setVisibility(GONE);
mBinding.cz.setText("去购买");
mBinding.tvBbQs.setText("一键全使用");
mBinding.tvGive.setText("使用");
MvpPre.wallet();
isCard = true;
} else {
// 隐藏按钮
if (mBinding.tvBbQs != null) {
mBinding.tvBbQs.setVisibility(View.GONE);
mBinding.cz.setVisibility(View.VISIBLE);
MvpPre.wallet();
}
mBinding.tvBbQs.setVisibility(GONE);
mBinding.cz.setVisibility(VISIBLE);
mBinding.cz.setText("去充值");
mBinding.tvGive.setText("赠送");
mBinding.rlWheatLayout.setVisibility(VISIBLE);
MvpPre.wallet();
isCard = false;
}
}
@@ -918,6 +982,11 @@ public class RoomGiftDialogFragment extends BaseMvpDialogFragment<RewardGiftPres
}
}
@Override
public void roomHotCard() {
dismiss();
}
private class MyFragmentPagerAdapter extends FragmentStatePagerAdapter {
private List<GiftLabelBean> list;

View File

@@ -224,6 +224,11 @@ public class RoomWheatGiftSettingFragment extends BaseMvpDialogFragment<RewardGi
}
@Override
public void roomHotCard() {
}
private static class MyFragmentPagerAdapter extends FragmentStatePagerAdapter {
private List<Fragment> fragmentList;

View File

@@ -19,13 +19,15 @@
>
<GridView
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="280dp"
android:id="@+id/rv_gift"
android:gravity="center"
android:listSelector="#00000000"
android:numColumns="4"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:spanCount="4"
android:stretchMode="columnWidth"
android:verticalSpacing="10dp"
app:layout_constraintTop_toTopOf="parent"

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.scwang.smartrefresh.layout.SmartRefreshLayout
android:id="@+id/smart_refresh_layout"
app:layout_constraintTop_toTopOf="parent"
app:srlEnableLoadMore="true"
app:srlEnableRefresh="true"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="10dp"
android:layout_marginBottom="60dp"
android:background="@drawable/bg_r10_white"
android:overScrollMode="never"
android:paddingBottom="@dimen/dp_100"
android:scrollbars="none" />
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@@ -6,19 +6,26 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="8dp">
android:layout_margin="8dp">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/zb_bg"
android:layout_width="@dimen/dp_100"
android:layout_height="@dimen/dp_120"
android:layout_height="@dimen/dp_135"
android:layout_gravity="center"
android:background="@mipmap/sect_false"
android:layout_marginStart="5dp"
android:layout_marginEnd="5dp"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/im_bj"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY"
android:src="@mipmap/sect_true"
android:visibility="gone"
tools:visibility="visible"/>
<ImageView
android:id="@+id/iv_img"
android:layout_width="@dimen/dp_76"
@@ -42,6 +49,39 @@
app:layout_constraintEnd_toEndOf="parent"
tools:text="梦幻之翼" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/dp_1"
android:orientation="horizontal"
android:layout_marginBottom="@dimen/dp_5"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_name_period">
<TextView
android:id="@+id/discount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:drawableStart="@mipmap/jinb"
android:textColor="@color/color_FF333333"
android:textSize="13sp"
tools:text="28" />
<TextView
android:id="@+id/original_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="@dimen/dp_3"
android:textColor="@color/color_999999"
android:textSize="13sp"
android:visibility="gone"
tools:text="30" />
</LinearLayout>
<TextView
android:id="@+id/integral"
android:layout_width="@dimen/dp_35"