修改名称。

This commit is contained in:
2025-11-07 09:22:39 +08:00
parent d9cf55b053
commit a8dcfbb6a7
2203 changed files with 3 additions and 4 deletions

View File

@@ -0,0 +1,256 @@
package com.xscm.modulemain.dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import androidx.annotation.NonNull;
import androidx.fragment.app.DialogFragment;
import androidx.fragment.app.FragmentManager;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.xscm.modulemain.R;
import com.xscm.modulemain.adapter.CardRelationAdapter;
import com.xscm.modulemain.activity.room.contacts.CardRelationshipContacts;
import com.xscm.modulemain.databinding.DialogCardRelationBinding;
import com.xscm.modulemain.activity.room.presenter.CardRelationshipPresenter;
import com.hjq.toast.ToastUtils;
import com.xscm.moduleutil.RoomAutionTimeBean;
import com.xscm.moduleutil.base.BaseMvpDialogFragment;
import com.xscm.moduleutil.bean.RoomAuctionABean;
import com.xscm.moduleutil.bean.RoomRelationBean;
import com.xscm.moduleutil.bean.RoomTime;
import com.xscm.moduleutil.bean.RoonGiftModel;
import com.xscm.moduleutil.bean.ViewItem;
import com.xscm.moduleutil.bean.room.AuctionBean;
import com.xscm.moduleutil.color.ThemeableDrawableUtils;
import com.xscm.moduleutil.utils.ColorManager;
import java.util.ArrayList;
import java.util.List;
/**
*@author qx
*@data 2025/6/28
*@description: 卡关系弹框
*/
public class CardRelationshipFragment extends BaseMvpDialogFragment<CardRelationshipPresenter, DialogCardRelationBinding> implements CardRelationshipContacts.View{
private String type;
private String roomId;
private String userId;
private CardRelationAdapter adapter;
private List<ViewItem> viewItems = new ArrayList<>();
private RoomAuctionABean roomAuctionABean;
RoomRelationBean roomRelationBean;
RoomAutionTimeBean roomAutionTimeBean;
RoonGiftModel roonGiftModel;
@Override
protected CardRelationshipPresenter bindPresenter() {
return new CardRelationshipPresenter(this, getActivity());
}
public static void show(String roomId, String userId,String type, FragmentManager fragmentManager) {
CardRelationshipFragment dialogFragment = new CardRelationshipFragment();
Bundle args = new Bundle();
args.putString("roomId", roomId);
args.putString("userId", userId);
args.putString("type", type);
dialogFragment.setArguments(args);
dialogFragment.show(fragmentManager, "CardRelationshipFragment");
}
@Override
public void onAttach(@NonNull Context context) {
super.onAttach(context);
type = getArguments().getString("type");
roomId = getArguments().getString("roomId");
userId = getArguments().getString("userId");
}
@Override
protected void initData() {
MvpPre.roomRelationList(type);
}
@Override
public void onStart() {
super.onStart();
Window window = getDialog().getWindow();
if (window != null) {
// 设置固定高度为 500dp
int screenHeight = getResources().getDisplayMetrics().heightPixels;
int heightInDp = (int) (screenHeight * 0.6f);;
int heightInPx = (int) heightInDp;
window.setLayout(WindowManager.LayoutParams.MATCH_PARENT, heightInPx);
// 可选:设置动画样式(从底部弹出)
window.setWindowAnimations(com.xscm.moduleutil.R.style.CommonShowDialogBottom);
}
// 设置不可通过点击外部关闭
getDialog().setCancelable(false);
getDialog().setCanceledOnTouchOutside(false);
}
@Override
protected void initDialogStyle(Window window) {
super.initDialogStyle(window);
window.setGravity(Gravity.BOTTOM);
setStyle(DialogFragment.STYLE_NORMAL, com.xscm.moduleutil.R.style.CustomDialogFragmentTheme);
}
@Override
protected void initView() {
RecyclerView recyclerView = mBinding.recycleView;
GridLayoutManager layoutManager = new GridLayoutManager(requireContext(), 4); // 最大支持 4 列
recyclerView.setLayoutManager(layoutManager);
// 设置 SpanSizeLookup 控制不同 item 占据的列数
layoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
int viewType = adapter.getItemViewType(position);
switch (viewType) {
case ViewItem.TYPE_TEXT: // 文本占满整行
return 4;
case ViewItem.TYPE_RELATION: // 每行 2 个
return 1;
case ViewItem.TYPE_GIFT: // 每行 3 个
return 1; // 3 个时,总列数 3则每项占 1 列;若总列数为 4则需调整
case ViewItem.TYPE_IMAGE_SELECTION: // 每行 4 个
return 1;
default:
return 1;
}
}
});
adapter = new CardRelationAdapter();
recyclerView.setAdapter(adapter);
roomAuctionABean=new RoomAuctionABean();
// 模拟从网络获取 RoomAuctionABean 数据
// 构建 ViewItem 列表
mBinding.tvWheatQd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
roomRelationBean = adapter.getSelectedRelation();
roomAutionTimeBean = adapter.getSelectedTime();
roonGiftModel = adapter.getSelectedGift();
if (type.equals("2")){
if (roomRelationBean != null && roomAutionTimeBean != null && roonGiftModel != null) {
// 创建一个 RoomAuctionABean 对象
MvpPre.roomAuction(roomId, userId, roonGiftModel.getGift_id(), roomRelationBean.getRelation_id(), "2", roomAutionTimeBean.getHours()+"");
}else {
ToastUtils.show("请选择竞拍信息");
}
}else {
if (roomRelationBean != null&& roonGiftModel != null){
// MvpPre.roomAuctionTime(roonGiftModel.getGift_id());
MvpPre.roomAuction(roomId, userId, roonGiftModel.getGift_id(), roomRelationBean.getRelation_id(), "1", "");
}else {
ToastUtils.show("请选择竞拍信息");
}
}
}
});
ThemeableDrawableUtils.setThemeableRoundedBackground(mBinding.tvWheatQd, ColorManager.getInstance().getPrimaryColorInt(), 53);
mBinding.tvWheatQd.setTextColor(ColorManager.getInstance().getButtonColorInt());
}
@Override
protected int getLayoutId() {
return R.layout.dialog_card_relation;
}
@Override
public void roomRelationList(List<RoomRelationBean> roomRelationBeans) {
if (roomRelationBeans!=null) {
roomAuctionABean.setRoomRelationBeanList(roomRelationBeans);
MvpPre.getGiftList("99");
}else {
ToastUtils.show("数据接口错误");
}
}
@Override
public void setGiftList(List<RoonGiftModel> roonGiftModels) {
if (roonGiftModels!=null) {
roomAuctionABean.setRoomGiftBeanList(roonGiftModels);
upList();
}
}
@Override
public void roomAuction(AuctionBean auctionBean) {
dismiss();
}
@Override
public void roomAuctionTime(RoomTime roomTime) {
MvpPre.roomAuction(roomId, userId, roonGiftModel.getGift_id(), roomRelationBean.getRelation_id(), "1", roomTime.getTime_day());
}
private void upList(){
if (roomAuctionABean != null) {
// 添加文本项
viewItems.add(new ViewItem(ViewItem.TYPE_TEXT, "选择关系"));
// 添加关系列表
for (RoomRelationBean bean : roomAuctionABean.getRoomRelationBeanList()) {
viewItems.add(new ViewItem(ViewItem.TYPE_RELATION, bean));
}
if (type.equals("2")){
viewItems.add(new ViewItem(ViewItem.TYPE_TEXT, "选择时长"));
for (RoomAutionTimeBean bean : getDefaultTimeOptions()) {
viewItems.add(new ViewItem(ViewItem.TYPE_IMAGE_SELECTION, bean));
}
}
viewItems.add(new ViewItem(ViewItem.TYPE_TEXT, "选择礼物"));
// 添加礼物列表
for (RoonGiftModel bean : roomAuctionABean.getRoomGiftBeanList()) {
viewItems.add(new ViewItem(ViewItem.TYPE_GIFT, bean));
}
adapter.submitList(viewItems);
}
}
public static List<RoomAutionTimeBean> getDefaultTimeOptions() {
List<RoomAutionTimeBean> list = new ArrayList<>();
list.add(new RoomAutionTimeBean(1));
list.add(new RoomAutionTimeBean(3));
list.add(new RoomAutionTimeBean(5));
list.add(new RoomAutionTimeBean(10));
list.add(new RoomAutionTimeBean(15));
list.add(new RoomAutionTimeBean(20));
list.add(new RoomAutionTimeBean(25));
list.add(new RoomAutionTimeBean(30));
return list;
}
public void dismissDialog() {
dismiss();
}
@Override
public void onDestroyView() {
super.onDestroyView();
dismiss();
}
}