diff --git a/.gitignore b/.gitignore index aa724b7..29ba061 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,8 @@ .externalNativeBuild .cxx local.properties +# ProGuard files +/app/proguard/ +/seeds.txt +/usage.txt +/mapping.txt \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 2cc08cb..2cb627d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -30,7 +30,7 @@ isBuildModule=false android.injected.testOnly=false APP_VERSION_NAME=1.0.0 -APP_VERSION_CODE=102 +APP_VERSION_CODE=103 org.gradle.jvm.toolchain.useLegacyAdapters=false #org.gradle.java.home=C\:\\Users\\qx\\.jdks\\ms-17.0.15 diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/adapter/GiftRoomAdapter.java b/moduleUtil/src/main/java/com/xscm/moduleutil/adapter/GiftRoomAdapter.java index d0536b1..1cee9e5 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/adapter/GiftRoomAdapter.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/adapter/GiftRoomAdapter.java @@ -211,7 +211,20 @@ public class GiftRoomAdapter extends BaseAdapter { // 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; } diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/base/CommonAppContext.java b/moduleUtil/src/main/java/com/xscm/moduleutil/base/CommonAppContext.java index 8994b6c..bd8764c 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/base/CommonAppContext.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/base/CommonAppContext.java @@ -370,7 +370,7 @@ public class CommonAppContext extends MultiDexApplication { SpUtil.saveUserId(-1); SpUtil.saveUserBean(new UserBean()); SpUtil.putToken(""); - Intent intent = new Intent("com.example.action.LAUNCH_PAGE"); + Intent intent = new Intent("com.xscm.action.LAUNCH_PAGE"); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); getApplicationContext().startActivity(intent); // piaoPingManager.unsubscribe(); diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/bean/GiftBean.java b/moduleUtil/src/main/java/com/xscm/moduleutil/bean/GiftBean.java index 493d022..82273a3 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/bean/GiftBean.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/bean/GiftBean.java @@ -1,5 +1,7 @@ package com.xscm.moduleutil.bean; +import java.io.Serializable; + import lombok.Data; /** *@author qx @@ -17,4 +19,8 @@ public class GiftBean { private String base_image; private String gift_type; private int number; + private String createtime; + private String nickname; + private String count; + private String user_id; } diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/bean/RoonGiftModel.java b/moduleUtil/src/main/java/com/xscm/moduleutil/bean/RoonGiftModel.java index 8465e09..10b31fb 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/bean/RoonGiftModel.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/bean/RoonGiftModel.java @@ -32,7 +32,7 @@ public class RoonGiftModel { private boolean can_send_self;//是否能送自己 private int num;//礼物数量 private int activities_id;//4:盲盒 ;5:天空之境; - private int gift_bag; + private int gift_bag;//10:天空之境 11:岁月之城 12:时空之巅 public boolean isCan_send_self() { if ( isManghe()) { return true; diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/bean/blindboxwheel/BlindBoxBean.java b/moduleUtil/src/main/java/com/xscm/moduleutil/bean/blindboxwheel/BlindBoxBean.java index c885ba2..b37ee9f 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/bean/blindboxwheel/BlindBoxBean.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/bean/blindboxwheel/BlindBoxBean.java @@ -1,8 +1,13 @@ package com.xscm.moduleutil.bean.blindboxwheel; +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; import com.xscm.moduleutil.bean.GiftBean; +import java.io.Serializable; +import java.util.ArrayList; import java.util.List; +import java.util.Map; import lombok.Data; @@ -18,11 +23,32 @@ public class BlindBoxBean { private String rule; private String box_price ; private int is_xlh; ///是否开启巡乐会 0 关闭 1 开启 - private XlhData xlh_data; + private Object xlh_data; private List gift_list; + public boolean isXlhDataArray() { + return xlh_data instanceof JsonArray || xlh_data instanceof List; + } + public boolean isXlhDataObject() { + return xlh_data instanceof JsonObject || xlh_data instanceof XlhData; + } + + public List getXlhDataAsList() { + if (isXlhDataArray()) { + // 转换为List + return (List) xlh_data; + } + return new ArrayList<>(); + } + + public XlhData getXlhDataAsObject() { + if (isXlhDataObject()) { + return (XlhData) xlh_data; + } + return null; + } @Data - public class XlhData{ + public static class XlhData { private String waiting_start_num;//等待开始需要达到的次数 private String start_num;//巡乐会开启需要达到的次数 private int current_num;//当前已抽奖次数 diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/WebViewDialog.java b/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/WebViewDialog.java index 06662ba..d4b9d5c 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/WebViewDialog.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/WebViewDialog.java @@ -86,7 +86,7 @@ public class WebViewDialog extends BaseDialog { mBinding.webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null); mBinding.webView.requestFocus(); - mBinding.webView.loadUrl("https://vespa.qxmier.com/web/index.html#/pages/other/taskDesc"); + mBinding.webView.loadUrl(mUrl); } private Resources getResources() { diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/giftLottery/GiftLotteryAdapter.java b/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/giftLottery/GiftLotteryAdapter.java index b26353d..674fc59 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/giftLottery/GiftLotteryAdapter.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/giftLottery/GiftLotteryAdapter.java @@ -4,6 +4,9 @@ import android.animation.AnimatorSet; import android.animation.ObjectAnimator; import android.os.Handler; import android.os.Looper; +import android.text.Spannable; +import android.text.SpannableStringBuilder; +import android.text.style.ForegroundColorSpan; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -16,7 +19,11 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; +import com.chad.library.adapter.base.BaseQuickAdapter; +import com.chad.library.adapter.base.BaseViewHolder; import com.xscm.moduleutil.R; +import com.xscm.moduleutil.bean.GiftBean; +import com.xscm.moduleutil.bean.GiftBoxBean; import com.xscm.moduleutil.utils.ImageUtils; import java.util.List; @@ -28,173 +35,54 @@ import java.util.Random; * @description: 盲盒抽奖展示的视图 */ // GiftLotteryAdapter.java -public class GiftLotteryAdapter extends RecyclerView.Adapter { +public class GiftLotteryAdapter extends BaseQuickAdapter { - private List giftList; - private OnGiftClickListener listener; - private int currentPos = -1; // 当前正在动画的位置 - private boolean isForward = true; // 是否正向扫描 - private int totalItems; public GiftLotteryAdapter() { - - } - - public interface OnGiftClickListener { - void onGiftClick(GiftLottery item); - } - - private RecyclerView recyclerView; - - @Override - public void onAttachedToRecyclerView(@NonNull RecyclerView recyclerView) { - super.onAttachedToRecyclerView(recyclerView); - this.recyclerView = recyclerView; + super(R.layout.item_gift_lottery); } @Override - public void onDetachedFromRecyclerView(@NonNull RecyclerView recyclerView) { - super.onDetachedFromRecyclerView(recyclerView); - this.recyclerView = null; - } + protected void convert(BaseViewHolder helper, GiftBean item) { + helper.setText(R.id.tv_gift_time, item.getCreatetime()); + ImageUtils.loadHeadCC(item.getBase_image(),helper.getView(R.id.iv_gift_image)); + // 使用 SpannableString 给 "x4" 设置不同颜色 + TextView giftNameTextView = helper.getView(R.id.tv_gift_name); + TextView nickNameTextView = helper.getView(R.id.tv_user_name); + if (giftNameTextView != null) { + String baseName = item.getGift_name(); + String countText = "x"+item.getCount(); + String fullText = baseName + countText; - public GiftLotteryAdapter(List list, OnGiftClickListener listener) { - this.giftList = list; - this.listener = listener; - this.totalItems = list.size(); - } + SpannableStringBuilder spannable = new SpannableStringBuilder(fullText); - @NonNull - @Override - public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - View view = LayoutInflater.from(parent.getContext()) - .inflate(R.layout.item_gift_lottery, parent, false); - return new ViewHolder(view); - } + // 给 "x4" 部分设置颜色 + spannable.setSpan( + new ForegroundColorSpan(mContext.getResources().getColor(R.color.color_C7BF62)), // 替换为实际颜色 + baseName.length(), + fullText.length(), + Spannable.SPAN_EXCLUSIVE_EXCLUSIVE + ); - @Override - public void onBindViewHolder(@NonNull ViewHolder holder, int position) { - GiftLottery item = giftList.get(position); - holder.bind(item); - - // 设置是否选中(仅用于视觉反馈) - if (item.isSelected()) { - holder.itemView.setSelected(true); - holder.itemView.setBackgroundResource(R.mipmap.ic_auction); - } else { - holder.itemView.setSelected(false); - } - } - - @Override - public int getItemCount() { - return giftList.size(); - } - - // 开始扫描动画 - public void startScanAnimation() { - if (totalItems == 0) return; - - currentPos = -1; - isForward = true; - scanNext(); - } - - private void scanNext() { - if (currentPos >= totalItems) { - // 正向结束,开始反向 - isForward = false; - currentPos = totalItems - 1; - scanNext(); - return; + giftNameTextView.setText(spannable); } - if (currentPos < 0) { - // 初始状态,开始正向 - currentPos = 0; - animateItem(currentPos); - return; + if (nickNameTextView!=null){ + nickNameTextView.setText(item.getNickname()); + String nickName = "赠予"; + String fullText = nickName + " " + item.getNickname(); + SpannableStringBuilder spannable = new SpannableStringBuilder(fullText); + + // 给 "x4" 部分设置颜色 + spannable.setSpan( + new ForegroundColorSpan(mContext.getResources().getColor(R.color.color_C7BF62)), // 替换为实际颜色 + 0, + nickName.length(), + Spannable.SPAN_EXCLUSIVE_EXCLUSIVE + ); + + nickNameTextView.setText(spannable); } - // 移动到下一个位置 - if (isForward) { - currentPos++; - if (currentPos >= totalItems) { - // 正向结束,准备反向 - isForward = false; - currentPos = totalItems - 1; - scanNext(); - return; - } - } else { - currentPos--; - if (currentPos < 0) { - // 反向结束,停止动画 - finishScan(); - return; - } - } - - // 执行动画 - animateItem(currentPos); - } - - private void animateItem(int pos) { - View itemView = getViewAtPosition(pos); - if (itemView == null) return; - - // 缩放动画 - AnimatorSet animatorSet = new AnimatorSet(); - animatorSet.playTogether( - ObjectAnimator.ofFloat(itemView, "scaleX", 1f, 1.2f), - ObjectAnimator.ofFloat(itemView, "scaleY", 1f, 1.2f) - ); - animatorSet.setDuration(200); - animatorSet.setInterpolator(new AccelerateDecelerateInterpolator()); - animatorSet.start(); - - // 延迟下一次动画 - Handler handler = new Handler(Looper.getMainLooper()); - handler.postDelayed(() -> { - scanNext(); - }, 300); // 每个 item 动画间隔 300ms - } - - private View getViewAtPosition(int position) { - if (recyclerView == null || recyclerView.getLayoutManager() == null) { - return null; - } - return recyclerView.getLayoutManager().findViewByPosition(position); - } - - private int getBindingAdapterPositionForView(View view) { - RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) view.getLayoutParams(); - return params.getViewLayoutPosition(); - } - - private void finishScan() { - // 扫描完成,随机选择一个中奖项 - Random random = new Random(); - int winnerIndex = random.nextInt(totalItems); - giftList.get(winnerIndex).setSelected(true); - notifyItemChanged(winnerIndex); - } - - static class ViewHolder extends RecyclerView.ViewHolder { - ImageView imgIcon; - TextView tvName, tvCount; - - ViewHolder(@NonNull View itemView) { - super(itemView); - imgIcon = itemView.findViewById(R.id.img_gift_icon); - tvName = itemView.findViewById(R.id.tv_gift_name); - tvCount = itemView.findViewById(R.id.tv_gift_count); - } - - void bind(GiftLottery item) { - imgIcon.setImageResource(Integer.parseInt(item.getIcon())); - tvName.setText(item.getName()); - tvCount.setText(item.getNumber()); - } } } diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/giftLottery/GiftLotteryContacts.java b/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/giftLottery/GiftLotteryContacts.java index 44cd5cc..6af6188 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/giftLottery/GiftLotteryContacts.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/giftLottery/GiftLotteryContacts.java @@ -4,19 +4,35 @@ import android.app.Activity; import com.xscm.moduleutil.activity.IPresenter; import com.xscm.moduleutil.activity.IView; +import com.xscm.moduleutil.bean.GiftBean; +import com.xscm.moduleutil.bean.WalletBean; import com.xscm.moduleutil.bean.blindboxwheel.BlindBoxBean; import com.xscm.moduleutil.bean.blindboxwheel.BlindReslutBean; +import java.util.List; + public class GiftLotteryContacts { public interface View extends IView { void getGiftListSuccess(BlindBoxBean blindBoxBean); void drawGiftListSuccess(BlindReslutBean blindReslutBean); + + void getMyRecordSuccess(List data); + void getAllRecordSuccess(List data); + + void finishRefreshLoadMore(); + void wallet(WalletBean walletBean); } public interface IRoomPre extends IPresenter { void getGiftList(String giftBagId,String roomId); void drawGiftList(String giftBagId,String gift_user_ids,String roomId,String num); + + void getMyRecord(String giftBagId,String page,String pageSize,int type);//我的抽奖记录 type: 1:我的抽奖 2:全服抽奖 + + void giftSend(String send_id); + + void wallet(); } } diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/giftLottery/GiftLotteryDialog.java b/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/giftLottery/GiftLotteryDialog.java index abc3c20..dec963d 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/giftLottery/GiftLotteryDialog.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/giftLottery/GiftLotteryDialog.java @@ -8,8 +8,10 @@ import android.media.MediaPlayer; import android.os.Bundle; import android.os.Handler; import android.os.Looper; +import android.text.TextUtils; import android.view.View; import android.view.Window; +import android.widget.GridView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -22,12 +24,15 @@ import com.xscm.moduleutil.R; import com.xscm.moduleutil.activity.IPresenter; import com.xscm.moduleutil.base.BaseMvpDialogFragment; import com.xscm.moduleutil.bean.GiftBean; +import com.xscm.moduleutil.bean.WalletBean; import com.xscm.moduleutil.bean.blindboxwheel.BlindBoxBean; import com.xscm.moduleutil.bean.blindboxwheel.BlindReslutBean; import com.xscm.moduleutil.databinding.DialogGiftLotteryBinding; import com.xscm.moduleutil.dialog.WebViewDialog; +import com.xscm.moduleutil.event.LotteryEvent; import com.xscm.moduleutil.http.RetrofitClient; import com.xscm.moduleutil.utils.ARouteConstants; +import com.xscm.moduleutil.widget.CircularProgressView; import com.xscm.moduleutil.widget.GiftCardView; import java.io.IOException; @@ -48,18 +53,19 @@ public class GiftLotteryDialog extends BaseMvpDialogFragment allViewsArray=new ArrayList<>() ;//视图的集合 + private List allViewsArray ;//视图的集合 private int targetIndex;//目标的下标 - private List targetArrayIndex=new ArrayList<>();//中奖的下标 - private List finishTargetArrayIndex=new ArrayList<>(); - private int currentIndex;///当前转到第几个下标 + private List targetArrayIndex = new ArrayList<>();//中奖的下标 + private List finishTargetArrayIndex = new ArrayList<>(); + private int currentIndex; + /// 当前转到第几个下标 private int roundCount;//转动多少次 private double delayTime;//延时 @@ -71,13 +77,20 @@ public class GiftLotteryDialog extends BaseMvpDialogFragment giftLists = new ArrayList<>(); + private LotteryEvent userIdType; // 新增枚举类型字段 + private int type;//10:对应天空之境 11:对应岁月之城 12:对应时空之巅 + private GiftLotteryDialogFragment giftLotteryDialogFragment; + private List reslutListAll = new ArrayList<>(); - private List giftLists=new ArrayList<>(); @Override protected GiftLotteryPresenter bindPresenter() { return new GiftLotteryPresenter(this, getActivity()); } - public static GiftLotteryDialog newInstance(String giftBagId,String roomId,String userIds) { + + public static GiftLotteryDialog newInstance(String giftBagId, String roomId, String userIds) { GiftLotteryDialog dialog = new GiftLotteryDialog(); Bundle args = new Bundle(); args.putString("giftBagId", giftBagId); @@ -86,6 +99,7 @@ public class GiftLotteryDialog extends BaseMvpDialogFragment getTargetArrayIndex() { - if (targetArrayIndex == null) { - targetArrayIndex = new ArrayList<>(); - } - return targetArrayIndex; - } - - private List getFinishTargetArrayIndex() { - if (finishTargetArrayIndex == null) { - finishTargetArrayIndex = new ArrayList<>(); - } - return finishTargetArrayIndex; + MvpPre.wallet(); } @Override protected void initView() { + // 根据不同的用户类型显示不同的界面 + setupUIBasedOnUserType(); - allViewsArray.add(mBinding.gift1); - allViewsArray.add(mBinding.gift2); - allViewsArray.add(mBinding.gift3); - allViewsArray.add(mBinding.gift4); - allViewsArray.add(mBinding.gift5); - allViewsArray.add(mBinding.gift6); - allViewsArray.add(mBinding.gift7); - allViewsArray.add(mBinding.gift8); - allViewsArray.add(mBinding.gift9); - allViewsArray.add(mBinding.gift10); - allViewsArray.add(mBinding.gift11); - allViewsArray.add(mBinding.gift12); - - mBinding.llOne.setOnClickListener(this::onClisk); - mBinding.llTen.setOnClickListener(this::onClisk); - mBinding.llHundred.setOnClickListener(this::onClisk); - mBinding.swLockYx.setOnClickListener(this::onClisk); - mBinding.swTex.setOnClickListener(this::onClisk); - mBinding.tvGz.setOnClickListener(this::onClisk); - init(0); - mBinding.swLockYx.setChecked(true); - mBinding.swTex.setChecked(true); - isOpenSpecial=true; - isOpenSound=true; } + private void setupUIBasedOnUserType() { + switch (userIdType) { + case MIRROR_SKY://天空之境 + setupSingleUserUI(); + type = 10; + break; + case CITY_TIME://岁月之巅 + setupMultiUserUI(); + type = 11; + break; + case PINNACLE_TIME://时空之巅 + setupAllUsersUI(); + type = 12; + break; + } + } + + /// 天空之境 + private void setupSingleUserUI() { + allViewsArray= new ArrayList<>(); + mBinding.mirroeSky.getRoot().setVisibility(View.VISIBLE); + giftMaxCount = 12; + minRoundCount = 6; + allViewsArray.add(mBinding.mirroeSky.gift1); + allViewsArray.add(mBinding.mirroeSky.gift2); + allViewsArray.add(mBinding.mirroeSky.gift3); + allViewsArray.add(mBinding.mirroeSky.gift4); + allViewsArray.add(mBinding.mirroeSky.gift5); + allViewsArray.add(mBinding.mirroeSky.gift6); + allViewsArray.add(mBinding.mirroeSky.gift7); + allViewsArray.add(mBinding.mirroeSky.gift8); + allViewsArray.add(mBinding.mirroeSky.gift9); + allViewsArray.add(mBinding.mirroeSky.gift10); + allViewsArray.add(mBinding.mirroeSky.gift11); + allViewsArray.add(mBinding.mirroeSky.gift12); + + + mBinding.mirroeSky.llOne.setOnClickListener(this::onClisk); + mBinding.mirroeSky.llTen.setOnClickListener(this::onClisk); + mBinding.mirroeSky.llHundred.setOnClickListener(this::onClisk); + mBinding.mirroeSky.swLockYx.setOnClickListener(this::onClisk); + mBinding.mirroeSky.swTex.setOnClickListener(this::onClisk); + mBinding.mirroeSky.tvGz.setOnClickListener(this::onClisk); + mBinding.mirroeSky.tvJc.setOnClickListener(this::onClisk); + mBinding.mirroeSky.tvJl.setOnClickListener(this::onClisk); + init(0); + mBinding.mirroeSky.swLockYx.setChecked(true); + mBinding.mirroeSky.swTex.setChecked(true); + isOpenSpecial = true; + isOpenSound = true; + + circularProgress = mBinding.mirroeSky.circularProgressView; + circularProgress.setProgress(0); + } + + + + //岁月之城 + private void setupMultiUserUI() { + allViewsArray= new ArrayList<>(); + mBinding.cityTime.getRoot().setVisibility(View.VISIBLE); + giftMaxCount = 10; + minRoundCount = 7; + allViewsArray.add(mBinding.cityTime.gift1); + allViewsArray.add(mBinding.cityTime.gift2); + allViewsArray.add(mBinding.cityTime.gift3); + allViewsArray.add(mBinding.cityTime.gift4); + allViewsArray.add(mBinding.cityTime.gift5); + allViewsArray.add(mBinding.cityTime.gift6); + allViewsArray.add(mBinding.cityTime.gift7); + allViewsArray.add(mBinding.cityTime.gift8); + allViewsArray.add(mBinding.cityTime.gift9); + allViewsArray.add(mBinding.cityTime.gift10); + + + mBinding.cityTime.llOne.setOnClickListener(this::onClisk); + mBinding.cityTime.llTen.setOnClickListener(this::onClisk); + mBinding.cityTime.llHundred.setOnClickListener(this::onClisk); + mBinding.cityTime.swLockYx.setOnClickListener(this::onClisk); + mBinding.cityTime.swTex.setOnClickListener(this::onClisk); + mBinding.cityTime.tvGz.setOnClickListener(this::onClisk); + mBinding.cityTime.tvJc.setOnClickListener(this::onClisk); + mBinding.cityTime.tvJl.setOnClickListener(this::onClisk); + init2(0); + mBinding.cityTime.swLockYx.setChecked(true); + mBinding.cityTime.swTex.setChecked(true); + isOpenSpecial = true; + isOpenSound = true; + + circularProgress = mBinding.cityTime.circularProgressView; + circularProgress.setProgress(0); + } + + //时空之巅 + private void setupAllUsersUI() { + allViewsArray= new ArrayList<>(); + mBinding.pinnacleTime.getRoot().setVisibility(View.VISIBLE); + giftMaxCount = 10; + minRoundCount = 7; + allViewsArray.add(mBinding.pinnacleTime.gift1); + allViewsArray.add(mBinding.pinnacleTime.gift2); + allViewsArray.add(mBinding.pinnacleTime.gift3); + allViewsArray.add(mBinding.pinnacleTime.gift4); + allViewsArray.add(mBinding.pinnacleTime.gift5); + allViewsArray.add(mBinding.pinnacleTime.gift6); + allViewsArray.add(mBinding.pinnacleTime.gift7); + allViewsArray.add(mBinding.pinnacleTime.gift8); + allViewsArray.add(mBinding.pinnacleTime.gift9); + allViewsArray.add(mBinding.pinnacleTime.gift10); + + + mBinding.pinnacleTime.llOne.setOnClickListener(this::onClisk); + mBinding.pinnacleTime.llTen.setOnClickListener(this::onClisk); + mBinding.pinnacleTime.llHundred.setOnClickListener(this::onClisk); + mBinding.pinnacleTime.swLockYx.setOnClickListener(this::onClisk); + mBinding.pinnacleTime.swTex.setOnClickListener(this::onClisk); + mBinding.pinnacleTime.tvGz.setOnClickListener(this::onClisk); + mBinding.pinnacleTime.tvJc.setOnClickListener(this::onClisk); + mBinding.pinnacleTime.tvJl.setOnClickListener(this::onClisk); + init3(0); + mBinding.pinnacleTime.swLockYx.setChecked(true); + mBinding.pinnacleTime.swTex.setChecked(true); + isOpenSpecial = true; + isOpenSound = true; + + circularProgress = mBinding.pinnacleTime.circularProgressView; + circularProgress.setProgress(0); + } private void onClisk(View view) { int id = view.getId(); - if (id == R.id.ll_one){ + if (id == R.id.ll_one) { if (!isDrawing) { init(1); startType = 1; MvpPre.drawGiftList(giftBagId, userIds, roomId, "1"); - }else { + } else { com.hjq.toast.ToastUtils.show("正在抽奖中..."); return; } - }else if (id == R.id.ll_ten){ + } else if (id == R.id.ll_ten) { if (!isDrawing) { init(2); startType = 2; MvpPre.drawGiftList(giftBagId, userIds, roomId, "10"); - }else { + } else { com.hjq.toast.ToastUtils.show("正在抽奖中..."); } - }else if (id == R.id.ll_hundred){ + } else if (id == R.id.ll_hundred) {//抽奖100次 if (!isDrawing) { init(3); startType = 3; MvpPre.drawGiftList(giftBagId, userIds, roomId, "100"); - }else { + } else { com.hjq.toast.ToastUtils.show("正在抽奖中..."); } - }else if (id == R.id.sw_lock_yx){ - isOpenSound=mBinding.swLockYx.isChecked(); - }else if (id == R.id.sw_tex){ - isOpenSpecial=mBinding.swTex.isChecked(); - }else if (id==R.id.tv_gz){ + } else if (id == R.id.sw_lock_yx) {//音效 + isOpenSound = mBinding.mirroeSky.swLockYx.isChecked(); + } else if (id == R.id.sw_tex) {//特效 + isOpenSpecial = mBinding.mirroeSky.swTex.isChecked(); + } else if (id == R.id.tv_gz) {//规则 WebViewDialog webViewDialog = new WebViewDialog(getActivity(), getRule_url); webViewDialog.show(); -// ARouter.getInstance().build(ARouteConstants.H5).withString("url", getRule_url).withString("title", "盲盒规则").navigation(); + } else if (id == R.id.tv_jc) { + if (giftLists != null && !giftLists.isEmpty()) { + PrizePoolDialog prizePoolDialog = new PrizePoolDialog(getActivity()); + prizePoolDialog.updateData(giftLists, type); + prizePoolDialog.show(); + } else { + com.hjq.toast.ToastUtils.show("奖池数据加载中,请稍后再试"); + } + } else if (id == R.id.tv_jl) { + + // 如果当前dialog存在且正在显示,先关闭 + if (giftLotteryDialogFragment != null && giftLotteryDialogFragment.isVisible()) { + giftLotteryDialogFragment.dismiss(); + } + + giftLotteryDialogFragment = GiftLotteryDialogFragment.newInstance(giftBagId); + giftLotteryDialogFragment.show(getChildFragmentManager(), "GiftLotteryDialogFragment"); } } private void init(int type) { if (type == 1) { - mBinding.llOne.setBackground(getResources().getDrawable(R.mipmap.chou_x)); - mBinding.llTen.setBackground(getResources().getDrawable(R.mipmap.chou_w)); - mBinding.llHundred.setBackground(getResources().getDrawable(R.mipmap.chou_w)); + mBinding.mirroeSky.llOne.setBackground(getResources().getDrawable(R.mipmap.chou_x)); + mBinding.mirroeSky.llTen.setBackground(getResources().getDrawable(R.mipmap.chou_w)); + mBinding.mirroeSky.llHundred.setBackground(getResources().getDrawable(R.mipmap.chou_w)); } else if (type == 2) { - mBinding.llOne.setBackground(getResources().getDrawable(R.mipmap.chou_w)); - mBinding.llTen.setBackground(getResources().getDrawable(R.mipmap.chou_x)); - mBinding.llHundred.setBackground(getResources().getDrawable(R.mipmap.chou_w)); + mBinding.mirroeSky.llOne.setBackground(getResources().getDrawable(R.mipmap.chou_w)); + mBinding.mirroeSky.llTen.setBackground(getResources().getDrawable(R.mipmap.chou_x)); + mBinding.mirroeSky.llHundred.setBackground(getResources().getDrawable(R.mipmap.chou_w)); } else if (type == 3) { - mBinding.llOne.setBackground(getResources().getDrawable(R.mipmap.chou_w)); - mBinding.llTen.setBackground(getResources().getDrawable(R.mipmap.chou_w)); - mBinding.llHundred.setBackground(getResources().getDrawable(R.mipmap.chou_x)); - }else { - mBinding.llOne.setBackground(getResources().getDrawable(R.mipmap.chou_w)); - mBinding.llTen.setBackground(getResources().getDrawable(R.mipmap.chou_w)); - mBinding.llHundred.setBackground(getResources().getDrawable(R.mipmap.chou_w)); + mBinding.mirroeSky.llOne.setBackground(getResources().getDrawable(R.mipmap.chou_w)); + mBinding.mirroeSky.llTen.setBackground(getResources().getDrawable(R.mipmap.chou_w)); + mBinding.mirroeSky.llHundred.setBackground(getResources().getDrawable(R.mipmap.chou_x)); + } else { + mBinding.mirroeSky.llOne.setBackground(getResources().getDrawable(R.mipmap.chou_w)); + mBinding.mirroeSky.llTen.setBackground(getResources().getDrawable(R.mipmap.chou_w)); + mBinding.mirroeSky.llHundred.setBackground(getResources().getDrawable(R.mipmap.chou_w)); } } - ///定时器 + + private void init2(int type) { + if (type == 1) { + mBinding.cityTime.llOne.setBackground(getResources().getDrawable(R.mipmap.chou_x)); + mBinding.cityTime.llTen.setBackground(getResources().getDrawable(R.mipmap.chou_w)); + mBinding.cityTime.llHundred.setBackground(getResources().getDrawable(R.mipmap.chou_w)); + } else if (type == 2) { + mBinding.cityTime.llOne.setBackground(getResources().getDrawable(R.mipmap.chou_w)); + mBinding.cityTime.llTen.setBackground(getResources().getDrawable(R.mipmap.chou_x)); + mBinding.cityTime.llHundred.setBackground(getResources().getDrawable(R.mipmap.chou_w)); + } else if (type == 3) { + mBinding.cityTime.llOne.setBackground(getResources().getDrawable(R.mipmap.chou_w)); + mBinding.cityTime.llTen.setBackground(getResources().getDrawable(R.mipmap.chou_w)); + mBinding.cityTime.llHundred.setBackground(getResources().getDrawable(R.mipmap.chou_x)); + } else { + mBinding.cityTime.llOne.setBackground(getResources().getDrawable(R.mipmap.chou_w)); + mBinding.cityTime.llTen.setBackground(getResources().getDrawable(R.mipmap.chou_w)); + mBinding.cityTime.llHundred.setBackground(getResources().getDrawable(R.mipmap.chou_w)); + } + } + private void init3(int type) { + if (type == 1) { + mBinding.pinnacleTime.llOne.setBackground(getResources().getDrawable(R.mipmap.chou_x)); + mBinding.pinnacleTime.llTen.setBackground(getResources().getDrawable(R.mipmap.chou_w)); + mBinding.pinnacleTime.llHundred.setBackground(getResources().getDrawable(R.mipmap.chou_w)); + } else if (type == 2) { + mBinding.pinnacleTime.llOne.setBackground(getResources().getDrawable(R.mipmap.chou_w)); + mBinding.pinnacleTime.llTen.setBackground(getResources().getDrawable(R.mipmap.chou_x)); + mBinding.pinnacleTime.llHundred.setBackground(getResources().getDrawable(R.mipmap.chou_w)); + } else if (type == 3) { + mBinding.pinnacleTime.llOne.setBackground(getResources().getDrawable(R.mipmap.chou_w)); + mBinding.pinnacleTime.llTen.setBackground(getResources().getDrawable(R.mipmap.chou_w)); + mBinding.pinnacleTime.llHundred.setBackground(getResources().getDrawable(R.mipmap.chou_x)); + } else { + mBinding.pinnacleTime.llOne.setBackground(getResources().getDrawable(R.mipmap.chou_w)); + mBinding.pinnacleTime.llTen.setBackground(getResources().getDrawable(R.mipmap.chou_w)); + mBinding.pinnacleTime.llHundred.setBackground(getResources().getDrawable(R.mipmap.chou_w)); + } + } + + /// 定时器 public void startFastAnimate() { if (allViewsArray.isEmpty()) { return; } + for (GiftCardView gridView : allViewsArray) { + gridView.setSelected(false); + gridView.stopPulseAnimationWithLayer(); + } currentGiftCardView = allViewsArray.get(0); currentGiftCardView.setSelected(true); + // 停止之前的定时器 stopFastAnimate(); if (isOpenSound) { // 假设此处有播放音乐的逻辑 playSound("draw_music.mp3"); - isOpenSound=false; +// isOpenSound=false; } roundCount = 0; - delayTime = 0.2; + delayTime = 0.22; handler = new Handler(Looper.getMainLooper()); timerRunnable = new Runnable() { @@ -246,9 +419,11 @@ public class GiftLotteryDialog extends BaseMvpDialogFragment data) { + + } + + @Override + public void getAllRecordSuccess(List data) { + + } + + @Override + public void finishRefreshLoadMore() { + + } + + @Override + public void wallet(WalletBean walletBean) { + if (walletBean != null){ + if (type==10){ + mBinding.mirroeSky.tvIcon.setText(walletBean.getCoin()); + }else if (type==11){ + mBinding.cityTime.tvIcon.setText(walletBean.getCoin()); + }else if (type==12){ + mBinding.pinnacleTime.tvIcon.setText(walletBean.getCoin()); + } + } + + } + @Override public void onDestroyView() { super.onDestroyView(); @@ -464,7 +694,7 @@ public class GiftLotteryDialog extends BaseMvpDialogFragment implements GiftLotteryContacts.View{ + + private int page=1; + private String giftBagId; + private int type=1; + private GiftLotteryAdapter adapter; + + @Override + protected GiftLotteryPresenter bindPresenter() { + return new GiftLotteryPresenter(this,getSelfActivity()); + } + + public static GiftLotteryDialogFragment newInstance(String giftBagId) { + Bundle args = new Bundle(); + GiftLotteryDialogFragment fragment = new GiftLotteryDialogFragment(); + args.putString("giftBagId", giftBagId); + fragment.setArguments(args); + return fragment; + } + + @Override + public void onAttach(@NonNull Context context) { + super.onAttach(context); + giftBagId = getArguments().getString("giftBagId"); + + } + + @Override + protected void initData() { + MvpPre.getMyRecord(giftBagId, "1", "20",type); + + } + + + @Override + protected void initView() { + + if (giftBagId.equals("10")){ + mBinding.clRoot.setBackgroundResource(R.mipmap.tkzj); + mBinding.imJc.setImageResource(R.mipmap.jilu); + }else if (giftBagId.equals("11")){ + mBinding.clRoot.setBackgroundResource(R.mipmap.syzc); + mBinding.imJc.setImageResource(R.mipmap.syzc_jl); + }else if (giftBagId.equals("12")){ + mBinding.clRoot.setBackgroundResource(R.mipmap.skzj); + mBinding.imJc.setImageResource(R.mipmap.skzl_jl); + } + + mBinding.smartRefreshLayout.setOnRefreshLoadMoreListener(new OnRefreshLoadMoreListener() { + @Override + public void onRefresh(@NonNull RefreshLayout refreshLayout) { + page++; + MvpPre.getMyRecord(giftBagId, page+"", "20",type); + } + + @Override + public void onLoadMore(@NonNull RefreshLayout refreshLayout) { + page = 1; + MvpPre.getMyRecord(giftBagId, page+"", "20",type); + } + }); + + mBinding.textView1.setOnClickListener(this::onClick); + mBinding.textView2.setOnClickListener(this::onClick); + + // 根据屏幕密度调整行数和列数 + int rows, columns; + float density = this.getResources().getDisplayMetrics().density; + + if (density <= 2.0) { // 低密度屏幕(如mdpi, hdpi) + rows = 3; + columns = 3; + } else if (density <= 3.0) { // 中密度屏幕(如xhdpi) + rows = 4; + columns = 3; + } else { // 高密度屏幕(如xxhdpi, xxxhdpi) + rows = 5; + columns = 3; + } + adapter=new GiftLotteryAdapter(); +// PagerGridLayoutManager layoutManager = new PagerGridLayoutManager(rows, columns, PagerGridLayoutManager.VERTICAL); + + GridLayoutManager layoutManager = new GridLayoutManager(getActivity(), 3); + + mBinding.recyclerView.setLayoutManager(layoutManager); + mBinding.recyclerView.setOnFlingListener(null); + // 设置滚动辅助工具 + PagerGridSnapHelper pageSnapHelper = new PagerGridSnapHelper(); + pageSnapHelper.attachToRecyclerView(mBinding.recyclerView); + mBinding.recyclerView.setAdapter(adapter); + } + + private void onClick(View view) { + int id = view.getId(); + if (id==R.id.textView1){ + dianj(1); + }else if (id==R.id.textView2){ + dianj(2); + } + } + public void dianj(int type1){ + if (type1==1) { + type=1; + setTextViewStyle(mBinding.textView2, false); + setTextViewStyle(mBinding.textView1, true); + }else if (type1==2){ + type=2; + setTextViewStyle(mBinding.textView2, true); + setTextViewStyle(mBinding.textView1, false); + } + + MvpPre.getMyRecord(giftBagId, page+"", "20",type); + } + + private void setTextViewStyle(TextView textView, boolean isSelected) { + if (isSelected) { + textView.setTextColor(getResources().getColor(R.color.white)); + textView.setTextSize(16); + textView.setBackground(getResources().getDrawable(R.mipmap.tab_dy)); + } else { + textView.setTextColor(getResources().getColor(R.color.color_5B5B5B)); + textView.setTextSize(14); + textView.setBackgroundColor(getResources().getColor(R.color.transparent)); + } + } + + + @Override + protected int getLayoutId() { + return R.layout.dialog_gift_lottery_fragment; + } + + @Override + public void getGiftListSuccess(BlindBoxBean blindBoxBean) { + + } + + @Override + public void drawGiftListSuccess(BlindReslutBean blindReslutBean) { + + } + + @Override + public void getMyRecordSuccess(List data) { + if (data != null){ + if (page==1){ + adapter.setNewData(data); + }else { + adapter.addData(data); + } + } + } + + @Override + public void getAllRecordSuccess(List data) { + if (data != null){ + if (page==1){ + adapter.setNewData(data); + }else { + adapter.addData(data); + } + } + } + + @Override + public void finishRefreshLoadMore() { + mBinding.smartRefreshLayout.finishRefresh(); + mBinding.smartRefreshLayout.finishLoadMore(); + } + + @Override + public void wallet(WalletBean walletBean) { + + } +} diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/giftLottery/GiftLotteryPresenter.java b/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/giftLottery/GiftLotteryPresenter.java index 9ed8ae6..172732c 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/giftLottery/GiftLotteryPresenter.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/giftLottery/GiftLotteryPresenter.java @@ -2,6 +2,8 @@ package com.xscm.moduleutil.dialog.giftLottery; import android.content.Context; +import com.xscm.moduleutil.bean.GiftBean; +import com.xscm.moduleutil.bean.WalletBean; import com.xscm.moduleutil.bean.blindboxwheel.BlindBoxBean; import com.xscm.moduleutil.bean.blindboxwheel.BlindReslutBean; import com.xscm.moduleutil.http.BaseObserver; @@ -55,4 +57,72 @@ public class GiftLotteryPresenter extends BasePresenter>() { + @Override + public void onSubscribe(Disposable d) { + addDisposable(d); + } + + @Override + public void onNext(List giftBean) { + if (MvpRef == null) { + MvpRef = new WeakReference<>(mView); + } + MvpRef.get().getMyRecordSuccess(giftBean); + MvpRef.get().finishRefreshLoadMore(); + } + }); + }else { + api.getAllRecord(giftBagId,page,pageSize,new BaseObserver>() { + @Override + public void onSubscribe(Disposable d) { + addDisposable(d); + } + + @Override + public void onNext(List giftBean) { + if (MvpRef==null){ + MvpRef=new WeakReference<>(mView); + } + MvpRef.get().getAllRecordSuccess(giftBean); + MvpRef.get().finishRefreshLoadMore(); + } + }); + } + } + + @Override + public void giftSend(String send_id) { + api.giftSend(send_id, new BaseObserver() { + @Override + public void onSubscribe(Disposable d) { + addDisposable(d); + } + + @Override + public void onNext(String s) { + + } + }); + } + + @Override + public void wallet() { + api.wallet(new BaseObserver() { + @Override + public void onSubscribe(Disposable d) { + addDisposable(d); + } + + @Override + public void onNext(WalletBean walletBean) { + MvpRef.get().wallet(walletBean); + } + }); + } + } diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/giftLottery/PrizePoolAdapter.java b/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/giftLottery/PrizePoolAdapter.java new file mode 100644 index 0000000..1362410 --- /dev/null +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/giftLottery/PrizePoolAdapter.java @@ -0,0 +1,53 @@ +package com.xscm.moduleutil.dialog.giftLottery; + +import android.content.Context; +import android.text.TextUtils; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.TextView; + +import com.chad.library.adapter.base.BaseQuickAdapter; +import com.chad.library.adapter.base.BaseViewHolder; +import com.xscm.moduleutil.R; +import com.xscm.moduleutil.adapter.MyBaseAdapter; +import com.xscm.moduleutil.bean.GiftBean; +import com.xscm.moduleutil.utils.ImageUtils; +/** + *@author qx + *@data 2025/8/28 + *@description: 盲盒转盘的奖池适配器 + */ +public class PrizePoolAdapter extends BaseQuickAdapter { + private Context context; + + public PrizePoolAdapter() { + super(R.layout.item_prize_pool); + + } + + + + + @Override + protected void convert(BaseViewHolder helper, GiftBean item) { + helper.setText(R.id.tv_gift_name, item.getGift_name()); + helper.setText(R.id.tv_gift_pic, item.getGift_price()); + ImageUtils.loadHeadCC(item.getBase_image(),helper.getView(R.id.iv_gift_image)); + } + + + public static class ViewHolder { + private ImageView imGiftImage; + private TextView tv_gift_name; + private TextView tv_gift_price; + + public ViewHolder(View convertView) { + imGiftImage = convertView.findViewById(R.id.iv_gift_image); + tv_gift_name = convertView.findViewById(R.id.tv_gift_name); + tv_gift_price = convertView.findViewById(R.id.tv_gift_pic); + + } + } +} diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/giftLottery/PrizePoolDialog.java b/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/giftLottery/PrizePoolDialog.java new file mode 100644 index 0000000..c88ee76 --- /dev/null +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/giftLottery/PrizePoolDialog.java @@ -0,0 +1,105 @@ +package com.xscm.moduleutil.dialog.giftLottery; + +import android.content.Context; +import android.os.Bundle; + +import androidx.annotation.NonNull; + +import com.xscm.moduleutil.R; +import com.xscm.moduleutil.adapter.GiftAdapter; +import com.xscm.moduleutil.adapter.OneImageYuanJiaoAdapter; +import com.xscm.moduleutil.base.BaseMvpDialogFragment; +import com.xscm.moduleutil.base.BaseRoomContacts; +import com.xscm.moduleutil.bean.GiftBean; +import com.xscm.moduleutil.databinding.DialogPrizePoolBinding; +import com.xscm.moduleutil.widget.MyGridView; +import com.xscm.moduleutil.widget.dialog.BaseDialog; +import com.xscm.moduleutil.widget.pagerecyclerview.PagerGridLayoutManager; +import com.xscm.moduleutil.widget.pagerecyclerview.PagerGridSnapHelper; + +import java.io.Serializable; +import java.util.List; + +/** + *@author qx + *@data 2025/8/28 + *@description: 盲盒转盘奖池弹窗 + */ +public class PrizePoolDialog extends BaseDialog { + private Context mContext; + private List gift_list; + private int type ; + + public PrizePoolDialog(@NonNull Context context) { + super(context); + this.mContext = context; + } + + + @Override + public int getLayoutId() { + return R.layout.dialog_prize_pool; + } + + @Override + public void initView() { + + + } + + + @Override + public void initData() { + + } + + private void showEmptyState() { + // 显示空状态或加载中提示 + // mBinding.tvEmpty.setVisibility(View.VISIBLE); + // mBinding.tvEmpty.setText("暂无奖池数据"); + } + + // 提供更新数据的方法 + public void updateData(List newData ,int type) { + if (type==10){ + mBinding.clPrize.setBackgroundResource(R.mipmap.tkzj); + mBinding.imJc.setImageResource(R.mipmap.jiangc); + }else if (type==11){ + mBinding.clPrize.setBackgroundResource(R.mipmap.syzc); + mBinding.imJc.setImageResource(R.mipmap.syzc_jc); + }else if (type==12){ + mBinding.clPrize.setBackgroundResource(R.mipmap.skzj); + mBinding.imJc.setImageResource(R.mipmap.skzl_jc); + } + + // 根据屏幕密度调整行数和列数 + int rows, columns; + float density = mContext.getResources().getDisplayMetrics().density; + + if (density <= 2.0) { // 低密度屏幕(如mdpi, hdpi) + rows = 3; + columns = 2; + } else if (density <= 3.0) { // 中密度屏幕(如xhdpi) + rows = 3; + columns = 3; + } else { // 高密度屏幕(如xxhdpi, xxxhdpi) + rows = 4; + columns = 3; + } + + if (newData != null && !newData.isEmpty()) { + this.gift_list = newData; + if (mBinding != null && mContext != null) { + PrizePoolAdapter prizePoolAdapter = new PrizePoolAdapter(); + PagerGridLayoutManager layoutManager = new PagerGridLayoutManager(rows, columns, PagerGridLayoutManager.VERTICAL); + mBinding.gvGift.setLayoutManager(layoutManager); + mBinding.gvGift.setOnFlingListener(null); + // 设置滚动辅助工具 + PagerGridSnapHelper pageSnapHelper = new PagerGridSnapHelper(); + pageSnapHelper.attachToRecyclerView(mBinding.gvGift); + mBinding.gvGift.setAdapter(prizePoolAdapter); + prizePoolAdapter.setNewData(gift_list); + } + } + } +} diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/event/LotteryEvent.java b/moduleUtil/src/main/java/com/xscm/moduleutil/event/LotteryEvent.java new file mode 100644 index 0000000..403733a --- /dev/null +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/event/LotteryEvent.java @@ -0,0 +1,37 @@ +package com.xscm.moduleutil.event; + +/** + *@author qx + *@data 2025/8/28 + *@description: 这是创建一枚举,根据类型的不同,创建不同的弹窗 + */ +public enum LotteryEvent { + + MIRROR_SKY("10"), // 天空之境 + CITY_TIME("11"), //岁月之城 + PINNACLE_TIME("12"); // 时光之巅 + + private final String type; + + LotteryEvent(String type) { + this.type = type; + } + + public String getType() { + return type; + } + + // 根据giftBagId字符串判断类型 + public static LotteryEvent fromLotteryEvent(String giftBagId) { + if (giftBagId.equals("10")) { + return MIRROR_SKY; + } + if (giftBagId.equals("11")) { + return CITY_TIME; + } + if (giftBagId.equals("12")) { + return PINNACLE_TIME; + } + return MIRROR_SKY; + } +} diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/http/ApiServer.java b/moduleUtil/src/main/java/com/xscm/moduleutil/http/ApiServer.java index 8d2fbb1..066bf60 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/http/ApiServer.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/http/ApiServer.java @@ -13,6 +13,7 @@ import com.xscm.moduleutil.bean.CommentBean; import com.xscm.moduleutil.bean.ExpandColumnBean; import com.xscm.moduleutil.bean.FirstChargeBean; import com.xscm.moduleutil.bean.FirstChargeGiftBean; +import com.xscm.moduleutil.bean.GiftBean; import com.xscm.moduleutil.bean.GiftBoxRecordBean; import com.xscm.moduleutil.bean.GiftLabelBean; import com.xscm.moduleutil.bean.GiftName; @@ -737,4 +738,14 @@ public interface ApiServer { @FormUrlEncoded @POST(Constants.POST_DRAW_GIFT_LIST) Call> drawGiftList(@Field("gift_bag_id") String gift_bag_id, @Field("gift_user_ids") String gift_user_ids,@Field("room_id")String room_id,@Field("num")String num); + + @GET(Constants.GET_MY_RECORD) + Call>> getMyRecord(@Query("gift_bag_id")String gift_bag_id,@Query("page")String page,@Query("page_size")String page_size); + + @GET(Constants.GET_ALL_RECORD) + Call>> getAllRecord(@Query("gift_bag_id")String gift_bag_id,@Query("page")String page,@Query("page_size")String page_size); + + @FormUrlEncoded + @POST(Constants.GIFT_SEND) + Call> giftSend(@Field("send_id")String send_id); } diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java b/moduleUtil/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java index 95435a3..f409158 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java @@ -27,6 +27,7 @@ import com.xscm.moduleutil.bean.CommentBean; import com.xscm.moduleutil.bean.ExpandColumnBean; import com.xscm.moduleutil.bean.FirstChargeBean; import com.xscm.moduleutil.bean.FirstChargeGiftBean; +import com.xscm.moduleutil.bean.GiftBean; import com.xscm.moduleutil.bean.GiftBoxBean; import com.xscm.moduleutil.bean.GiftBoxRecordBean; import com.xscm.moduleutil.bean.GiftLabelBean; @@ -2242,4 +2243,55 @@ public class RetrofitClient { }); } + public void getMyRecord(String giftBagId,String page,String pageSize,BaseObserver> observer){ + sApiServer.getMyRecord(giftBagId,page,pageSize).enqueue(new Callback>>() { + @Override + public void onResponse(Call>> call, Response>> response) { + if (response.code()==200){ + BaseModel> baseModel = response.body(); + if (baseModel.getCode()==1){ + observer.onNext(baseModel.getData()); + } + } + } + + @Override + public void onFailure(Call>> call, Throwable t) { + t.printStackTrace(); + } + }); + } + public void getAllRecord(String giftBagId,String page,String pageSize,BaseObserver> observer){ + sApiServer.getAllRecord(giftBagId,page,pageSize).enqueue(new Callback>>() { + @Override + public void onResponse(Call>> call, Response>> response) { + if (response.code()==200){ + BaseModel> baseModel = response.body(); + if (baseModel.getCode()==1){ + observer.onNext(baseModel.getData()); + } + } + } + + @Override + public void onFailure(Call>> call, Throwable t) { + t.printStackTrace(); + } + }); + } + + public void giftSend(String send_id,BaseObserver observer){ + sApiServer.giftSend(send_id).enqueue(new Callback>() { + @Override + public void onResponse(Call> call, Response> response) { + onNextRetu(response, observer); + } + + @Override + public void onFailure(Call> call, Throwable t) { + t.printStackTrace(); + } + }); + } + } diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/service/MyMqttService.java b/moduleUtil/src/main/java/com/xscm/moduleutil/service/MyMqttService.java index e012dcd..fa49d56 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/service/MyMqttService.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/service/MyMqttService.java @@ -48,7 +48,8 @@ public class MyMqttService extends Service implements MyEmqttConnectListener, My private static int qos = 2; // private static String HOST ="tcp://81.70.45.221";//正式 - private static String HOST = "tcp://47.120.21.132";//测试 + private static String HOST = "tcp://1.13.181.248";//测试 +// private static String HOST = "tcp://47.120.21.132";//测试 private static MqttAndroidClient mqttAndroidClient; private MqttConnectOptions mMqttConnectOptions; private static boolean b = true; diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/widget/AvatarFrameView.java b/moduleUtil/src/main/java/com/xscm/moduleutil/widget/AvatarFrameView.java index 7781ec9..f61fcd2 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/widget/AvatarFrameView.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/widget/AvatarFrameView.java @@ -366,9 +366,9 @@ public class AvatarFrameView extends FrameLayout implements IAnimListener { mFile = file; } else { // 删除可能存在的损坏文件 - if (file.exists()) { - file.delete(); - } +// if (file.exists()) { +// file.delete(); +// } DownloadTask task = new DownloadTask.Builder(url, PathUtils.getInternalAppCachePath() , Md5Utils.getStringMD5(url) + ".mp4") .setMinIntervalMillisCallbackProcess(300) diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/widget/Constants.java b/moduleUtil/src/main/java/com/xscm/moduleutil/widget/Constants.java index b566a5e..be45412 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/widget/Constants.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/widget/Constants.java @@ -376,6 +376,9 @@ public class Constants { public static final String CREATE_RELATION = "/api/Friend/create_relation";//卡关系 (创建关系) 交友房 public static final String GET_BOX_GIFT_LIST = "/api/BlindBoxTurntable/get_gift_list";//获取活动礼物列表 public static final String POST_DRAW_GIFT_LIST = "/api/BlindBoxTurntable/draw_gift";//盲盒转盘抽奖 + public static final String GET_MY_RECORD = "/api/BlindBoxTurntable/get_my_record";//获取我的抽奖记录 + public static final String GET_ALL_RECORD = "/api/BlindBoxTurntable/get_all_record";//获取全服抽奖记录 + public static final String GIFT_SEND = "/api/BlindBoxTurntable/gift_send";//礼物发放 diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/widget/GiftCardView.java b/moduleUtil/src/main/java/com/xscm/moduleutil/widget/GiftCardView.java index 49313e2..0986b1a 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/widget/GiftCardView.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/widget/GiftCardView.java @@ -95,12 +95,12 @@ public class GiftCardView extends FrameLayout { normalBackground = typedArray.getDrawable(R.styleable.GiftCardView_normalBackground); // 如果没有设置选中背景,则使用默认的选中效果 - if (selectedBackground == null) { - selectedBackground = ContextCompat.getDrawable(getContext(), R.mipmap.tkzj_x); - } - if (normalBackground == null) { - normalBackground = ContextCompat.getDrawable(getContext(), R.mipmap.tkzj_w); - } +// if (selectedBackground == null) { +// selectedBackground = ContextCompat.getDrawable(getContext(), R.mipmap.tkzj_x); +// } +// if (normalBackground == null) { +// normalBackground = ContextCompat.getDrawable(getContext(), R.mipmap.tkzj_w); +// } // 设置默认背景 if (normalBackground != null) { @@ -208,19 +208,19 @@ public class GiftCardView extends FrameLayout { if (selected) { setBackground(selectedBackground); // 可以添加额外的选中效果 - setElevation(8f); // 提高阴影 +// setElevation(8f); // 提高阴影 // 添加发光效果 - addGlowEffect(); +// addGlowEffect(); } else { setBackground(normalBackground); - setElevation(4f); // 恢复默认阴影 - removeGlowEffect(); +// setElevation(4f); // 恢复默认阴影 +// removeGlowEffect(); } } public void setmResultTextView(int num){ if (mResultTextView!=null) { - mResultTextView.setText("X" + num); + mResultTextView.setText("x" + num); } } diff --git a/moduleUtil/src/main/res/drawable/bg_r45_2d449f.xml b/moduleUtil/src/main/res/drawable/bg_r45_2d449f.xml new file mode 100644 index 0000000..8534263 --- /dev/null +++ b/moduleUtil/src/main/res/drawable/bg_r45_2d449f.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/moduleUtil/src/main/res/drawable/bg_r45_8c3ca2.xml b/moduleUtil/src/main/res/drawable/bg_r45_8c3ca2.xml new file mode 100644 index 0000000..6895316 --- /dev/null +++ b/moduleUtil/src/main/res/drawable/bg_r45_8c3ca2.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/moduleUtil/src/main/res/drawable/bg_r45_a27f40.xml b/moduleUtil/src/main/res/drawable/bg_r45_a27f40.xml new file mode 100644 index 0000000..c5aa4f8 --- /dev/null +++ b/moduleUtil/src/main/res/drawable/bg_r45_a27f40.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/moduleUtil/src/main/res/drawable/circle_background.xml b/moduleUtil/src/main/res/drawable/circle_background.xml new file mode 100644 index 0000000..e93365e --- /dev/null +++ b/moduleUtil/src/main/res/drawable/circle_background.xml @@ -0,0 +1,5 @@ + + + + diff --git a/moduleUtil/src/main/res/drawable/syzc_background.xml b/moduleUtil/src/main/res/drawable/syzc_background.xml new file mode 100644 index 0000000..1f5753b --- /dev/null +++ b/moduleUtil/src/main/res/drawable/syzc_background.xml @@ -0,0 +1,5 @@ + + + + diff --git a/moduleUtil/src/main/res/layout/dialog_city_time.xml b/moduleUtil/src/main/res/layout/dialog_city_time.xml new file mode 100644 index 0000000..477304d --- /dev/null +++ b/moduleUtil/src/main/res/layout/dialog_city_time.xml @@ -0,0 +1,475 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/moduleUtil/src/main/res/layout/dialog_gift_lottery.xml b/moduleUtil/src/main/res/layout/dialog_gift_lottery.xml index a820e4b..1a813c6 100644 --- a/moduleUtil/src/main/res/layout/dialog_gift_lottery.xml +++ b/moduleUtil/src/main/res/layout/dialog_gift_lottery.xml @@ -5,374 +5,27 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + android:layout_height="wrap_content"> - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/moduleUtil/src/main/res/layout/dialog_gift_lottery_fragment.xml b/moduleUtil/src/main/res/layout/dialog_gift_lottery_fragment.xml new file mode 100644 index 0000000..7ab083b --- /dev/null +++ b/moduleUtil/src/main/res/layout/dialog_gift_lottery_fragment.xml @@ -0,0 +1,105 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/moduleUtil/src/main/res/layout/dialog_mirroe_sky.xml b/moduleUtil/src/main/res/layout/dialog_mirroe_sky.xml new file mode 100644 index 0000000..1955088 --- /dev/null +++ b/moduleUtil/src/main/res/layout/dialog_mirroe_sky.xml @@ -0,0 +1,506 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/moduleUtil/src/main/res/layout/dialog_pinnacle_time.xml b/moduleUtil/src/main/res/layout/dialog_pinnacle_time.xml new file mode 100644 index 0000000..a541455 --- /dev/null +++ b/moduleUtil/src/main/res/layout/dialog_pinnacle_time.xml @@ -0,0 +1,475 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/moduleUtil/src/main/res/layout/dialog_prize_pool.xml b/moduleUtil/src/main/res/layout/dialog_prize_pool.xml new file mode 100644 index 0000000..b59e518 --- /dev/null +++ b/moduleUtil/src/main/res/layout/dialog_prize_pool.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/moduleUtil/src/main/res/layout/item_gift_lottery.xml b/moduleUtil/src/main/res/layout/item_gift_lottery.xml index c93d86e..9d7f793 100644 --- a/moduleUtil/src/main/res/layout/item_gift_lottery.xml +++ b/moduleUtil/src/main/res/layout/item_gift_lottery.xml @@ -1,45 +1,67 @@ - + xmlns:tools="http://schemas.android.com/tools"> - + + + + + + + android:layout_marginTop="@dimen/dp_10" + tools:text="中奖名单" + android:textSize="@dimen/sp_12" + android:textColor="@color/white" + android:gravity="center" + app:layout_constraintStart_toStartOf="@+id/iv_prize_pool" + app:layout_constraintTop_toBottomOf="@+id/iv_prize_pool" + app:layout_constraintEnd_toEndOf="@+id/iv_prize_pool" + /> - + - - - - - - + \ No newline at end of file diff --git a/moduleUtil/src/main/res/layout/item_prize_pool.xml b/moduleUtil/src/main/res/layout/item_prize_pool.xml new file mode 100644 index 0000000..44d4339 --- /dev/null +++ b/moduleUtil/src/main/res/layout/item_prize_pool.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/moduleUtil/src/main/res/layout/view_gift_card.xml b/moduleUtil/src/main/res/layout/view_gift_card.xml index 5f9f202..4355f51 100644 --- a/moduleUtil/src/main/res/layout/view_gift_card.xml +++ b/moduleUtil/src/main/res/layout/view_gift_card.xml @@ -4,6 +4,7 @@ android:layout_height="wrap_content" xmlns:tools="http://schemas.android.com/tools" android:gravity="center" + android:background="@color/color_transparent" android:layout_gravity="center" android:orientation="vertical" > @@ -52,12 +53,12 @@ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/dengt.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/dengt.png new file mode 100644 index 0000000..b9614f4 Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/dengt.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/gift_name_skzd.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/gift_name_skzd.png new file mode 100644 index 0000000..e512c06 Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/gift_name_skzd.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/gift_name_syzc.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/gift_name_syzc.png new file mode 100644 index 0000000..9d0b9fa Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/gift_name_syzc.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/gift_name_tkzj.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/gift_name_tkzj.png new file mode 100644 index 0000000..bafe126 Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/gift_name_tkzj.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/gift_sjzd.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/gift_sjzd.png new file mode 100644 index 0000000..ed44e9d Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/gift_sjzd.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/gift_syzc.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/gift_syzc.png new file mode 100644 index 0000000..cc077d7 Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/gift_syzc.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/gift_tkzj.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/gift_tkzj.png new file mode 100644 index 0000000..0412936 Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/gift_tkzj.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/jiangc.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/jiangc.png new file mode 100644 index 0000000..686a0b2 Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/jiangc.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/jijang.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/jijang.png new file mode 100644 index 0000000..e5bba64 Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/jijang.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/jilu.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/jilu.png new file mode 100644 index 0000000..9eecf1d Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/jilu.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/skzd_bj.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/skzd_bj.png new file mode 100644 index 0000000..16fa272 Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/skzd_bj.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/skzd_left_bj.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/skzd_left_bj.png new file mode 100644 index 0000000..931b8d9 Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/skzd_left_bj.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/skzd_rigth_bj.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/skzd_rigth_bj.png new file mode 100644 index 0000000..188f458 Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/skzd_rigth_bj.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/skzd_w.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/skzd_w.png new file mode 100644 index 0000000..e532b9b Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/skzd_w.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/skzd_x.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/skzd_x.png new file mode 100644 index 0000000..75e9d45 Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/skzd_x.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/skzj.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/skzj.png new file mode 100644 index 0000000..14e451d Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/skzj.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/skzj_z_b.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/skzj_z_b.png new file mode 100644 index 0000000..12db65f Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/skzj_z_b.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/skzl_jc.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/skzl_jc.png new file mode 100644 index 0000000..3abdfbb Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/skzl_jc.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/skzl_jl.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/skzl_jl.png new file mode 100644 index 0000000..ca4899e Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/skzl_jl.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/syzc.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/syzc.png new file mode 100644 index 0000000..86ff927 Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/syzc.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/syzc_bj.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/syzc_bj.png new file mode 100644 index 0000000..0bea792 Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/syzc_bj.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/syzc_jc.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/syzc_jc.png new file mode 100644 index 0000000..26cc7ba Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/syzc_jc.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/syzc_jl.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/syzc_jl.png new file mode 100644 index 0000000..2539003 Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/syzc_jl.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/syzc_left_bj.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/syzc_left_bj.png new file mode 100644 index 0000000..96fbd1a Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/syzc_left_bj.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/syzc_rigth_bj.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/syzc_rigth_bj.png new file mode 100644 index 0000000..821e805 Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/syzc_rigth_bj.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/syzc_w.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/syzc_w.png new file mode 100644 index 0000000..d8c2614 Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/syzc_w.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/syzc_x.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/syzc_x.png new file mode 100644 index 0000000..6561628 Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/syzc_x.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/syzc_z_b.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/syzc_z_b.png new file mode 100644 index 0000000..f996bc6 Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/syzc_z_b.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/tkzj.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/tkzj.png new file mode 100644 index 0000000..15ce670 Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/tkzj.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/tkzj_z.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/tkzj_z.png new file mode 100644 index 0000000..f017ad7 Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/tkzj_z.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/tkzj_z_b.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/tkzj_z_b.png new file mode 100644 index 0000000..86c8602 Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/tkzj_z_b.png differ diff --git a/moduleUtil/src/main/res/mipmap-xxxhdpi/zhensgh.png b/moduleUtil/src/main/res/mipmap-xxxhdpi/zhensgh.png new file mode 100644 index 0000000..8f5e360 Binary files /dev/null and b/moduleUtil/src/main/res/mipmap-xxxhdpi/zhensgh.png differ diff --git a/moduleUtil/src/main/res/values/colors.xml b/moduleUtil/src/main/res/values/colors.xml index f34372e..cf6075f 100644 --- a/moduleUtil/src/main/res/values/colors.xml +++ b/moduleUtil/src/main/res/values/colors.xml @@ -289,6 +289,8 @@ #FF9249FF #212121 #EFF2F8 + #5B5B5B + #C7BF62 diff --git a/moduleroom/src/main/java/com/example/moduleroom/dialog/RoomGiftDialogFragment.java b/moduleroom/src/main/java/com/example/moduleroom/dialog/RoomGiftDialogFragment.java index 7244545..b3548d2 100644 --- a/moduleroom/src/main/java/com/example/moduleroom/dialog/RoomGiftDialogFragment.java +++ b/moduleroom/src/main/java/com/example/moduleroom/dialog/RoomGiftDialogFragment.java @@ -362,16 +362,18 @@ public class RoomGiftDialogFragment extends BaseMvpDialogFragment/> + app:layout_constraintTop_toTopOf="parent" /> diff --git a/modulevocal/src/main/res/layout/activity_currency_exchange.xml b/modulevocal/src/main/res/layout/activity_currency_exchange.xml index 2d98418..1c025f7 100644 --- a/modulevocal/src/main/res/layout/activity_currency_exchange.xml +++ b/modulevocal/src/main/res/layout/activity_currency_exchange.xml @@ -127,7 +127,7 @@ android:layout_alignParentEnd="true" android:gravity="center" android:layout_marginStart="@dimen/dp_4" - android:text="全部提现" + android:text="全部兑换" android:textSize="@dimen/sp_12" android:textColor="#0DFB89" />