春节主题:首页弹窗、礼物、部分按钮。

This commit is contained in:
2026-01-28 16:17:06 +08:00
parent 88ce0205fb
commit 7aa294c3a9
53 changed files with 223 additions and 60 deletions

View File

@@ -78,6 +78,7 @@ import com.tencent.qcloud.tuicore.TUILogin;
import com.tencent.qcloud.tuicore.interfaces.TUICallback;
import com.xscm.moduleutil.utils.SpUtil;
import com.xscm.moduleutil.utils.SystemUtils;
import com.xscm.moduleutil.utils.UtilConfig;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
@@ -788,7 +789,7 @@ public abstract class BaseMvpActivity<P extends IPresenter, VDB extends ViewData
int userNameStart = fullText.indexOf(redBean.getNickname());
if (userNameStart >= 0) {
builder.setSpan(
new ForegroundColorSpan(ContextCompat.getColor(this, com.xscm.moduleutil.R.color.colorPrimary)),
new ForegroundColorSpan(ContextCompat.getColor(this, UtilConfig.getAttrColor(this,R.attr.app_color_colorPrimary))),
userNameStart,
userNameStart + redBean.getNickname().length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
@@ -799,7 +800,7 @@ public abstract class BaseMvpActivity<P extends IPresenter, VDB extends ViewData
int roomNameStart = fullText.indexOf(redBean.getRoom_name());
if (roomNameStart >= 0) {
builder.setSpan(
new ForegroundColorSpan(ContextCompat.getColor(this, com.xscm.moduleutil.R.color.colorPrimary)),
new ForegroundColorSpan(ContextCompat.getColor(this, UtilConfig.getAttrColor(this,R.attr.app_color_colorPrimary))),
roomNameStart,
roomNameStart + redBean.getRoom_name().length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE

View File

@@ -9,7 +9,6 @@ import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
@@ -33,14 +32,12 @@ import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.azhon.appupdate.listener.OnButtonClickListener;
import com.azhon.appupdate.listener.OnDownloadListener;
import com.azhon.appupdate.manager.DownloadManager;
import com.azhon.appupdate.util.ApkUtil;
import com.blankj.utilcode.util.FragmentUtils;
import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.bumptech.glide.Glide;
import com.permissionx.guolindev.PermissionX;
import com.permissionx.guolindev.callback.RequestCallback;
import com.stx.xhb.xbanner.XBanner;
@@ -49,7 +46,6 @@ import com.tencent.imsdk.v2.V2TIMValueCallback;
import com.xscm.modulemain.Application;
import com.xscm.modulemain.BaseMvpActivity;
import com.xscm.modulemain.R;
import com.xscm.modulemain.TransparentActivity;
import com.xscm.modulemain.activity.main.contacts.HomeContacts;
import com.xscm.modulemain.activity.main.presenter.HomePresenter;
import com.xscm.modulemain.activity.msg.fragment.NewsFragment;
@@ -73,7 +69,6 @@ import com.xscm.moduleutil.bean.room.RoomOnline;
import com.xscm.moduleutil.bean.room.RoomOnlineBean;
import com.xscm.moduleutil.dialog.FirstChargeDialog;
import com.xscm.moduleutil.dialog.HeavenGiftDialog;
import com.xscm.modulemain.dialog.InviteDialog;
import com.xscm.moduleutil.dialog.NewPeopleDialog;
import com.xscm.moduleutil.dialog.RechargeDialogFragment;
import com.xscm.moduleutil.event.RoomOutEvent;
@@ -81,11 +76,11 @@ import com.xscm.moduleutil.event.UnreadCountEvent;
import com.xscm.moduleutil.http.RetrofitClient;
import com.xscm.moduleutil.listener.MessageListenerSingleton;
import com.xscm.moduleutil.utils.ARouteConstants;
import com.xscm.moduleutil.utils.BackgroundManager;
import com.xscm.moduleutil.utils.ColorManager;
import com.xscm.moduleutil.utils.ImageLoader;
import com.xscm.moduleutil.utils.PermissionDescriptionHelper;
import com.xscm.moduleutil.utils.SpUtil;
import com.xscm.moduleutil.utils.UtilConfig;
import com.xscm.moduleutil.utils.location.LocationProvider;
import com.xscm.moduleutil.utils.location.SystemLocationProvider;
import com.xscm.moduleutil.utils.logger.Logger;
@@ -96,9 +91,7 @@ import org.greenrobot.eventbus.ThreadMode;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.TimeUnit;
@@ -144,18 +137,7 @@ public class MainActivity extends BaseMvpActivity<HomePresenter, ActivityMainBin
}
private int getTabBg(){
// 1. 定义需要获取的自定义属性数组
int[] attrs = new int[]{com.xscm.moduleutil.R.attr.app_main_tab_bg};
// 2. 从Context的Theme中获取TypedArray核心绑定当前主题的属性值
TypedArray ta = obtainStyledAttributes(attrs);
// 3. 获取attr对应的资源ID默认值0无有效资源时返回0
int bgResId = ta.getResourceId(0, 0);
// 4. 关键手动回收TypedArray释放系统资源避免内存泄漏
ta.recycle();
// 5. 有有效资源ID时设置背景
return bgResId;
}
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
@@ -340,7 +322,7 @@ public class MainActivity extends BaseMvpActivity<HomePresenter, ActivityMainBin
// 初始化显示派对Tab
reset();
mBinding.rlMedia.setSelected(true);
mBinding.llBottomBar.setBackgroundResource(getTabBg());
mBinding.llBottomBar.setBackgroundResource(UtilConfig.getAttBg(this,com.xscm.moduleutil.R.attr.app_main_tab_bg));
FragmentUtils.showHide(0, fragments);
}
@@ -363,7 +345,7 @@ public class MainActivity extends BaseMvpActivity<HomePresenter, ActivityMainBin
public void onClick(View view) {
int id = view.getId();
if (id == R.id.rl_media) {
mBinding.llBottomBar.setBackgroundResource(getTabBg());
mBinding.llBottomBar.setBackgroundResource(UtilConfig.getAttBg(this,com.xscm.moduleutil.R.attr.app_main_tab_bg));
selectShow(0);
} else if (id == R.id.rl_trend) {
mBinding.llBottomBar.setBackgroundResource(com.xscm.moduleutil.R.drawable.home_bbar_yuan);
@@ -374,7 +356,7 @@ public class MainActivity extends BaseMvpActivity<HomePresenter, ActivityMainBin
selectShow(2);
} else if (id == R.id.rl_me) {
mBinding.llBottomBar.setBackgroundResource(getTabBg());
mBinding.llBottomBar.setBackgroundResource(UtilConfig.getAttBg(this,com.xscm.moduleutil.R.attr.app_main_tab_bg));
selectShow(3);
//C0101我的界面

View File

@@ -293,7 +293,7 @@ public class VoiceCategoryFragment extends BaseMvpFragment<VoiceCategoryPresente
// 创建适配器
MyFragmentPagerAdapter adapter = new MyFragmentPagerAdapter(getActivity(), list);
mBinding.viewPager.setAdapter(adapter);
mBinding.slidingTabLayout.setSelectedTabIndicatorColor(ColorManager.getInstance().getPrimaryColorInt());
// mBinding.slidingTabLayout.setSelectedTabIndicatorColor(ColorManager.getInstance().getPrimaryColorInt());
if (!list.isEmpty())
mBinding.viewPager.setOffscreenPageLimit(list.size() - 1);
// 设置 TabLayout 与 ViewPager2 的关联

View File

@@ -1,5 +1,6 @@
package com.xscm.modulemain.adapter;
import android.content.res.ColorStateList;
import android.graphics.Color;
import android.text.TextUtils;
import android.view.View;
@@ -15,6 +16,7 @@ import com.xscm.modulemain.R;
import com.xscm.moduleutil.bean.RewardUserBean;
import com.xscm.moduleutil.utils.ImageUtils;
import com.xscm.moduleutil.utils.SpUtil;
import com.xscm.moduleutil.utils.UtilConfig;
import com.xscm.moduleutil.widget.BaseWheatView;
import java.util.ArrayList;
@@ -41,10 +43,11 @@ public class GiftUserAdapter extends BaseQuickAdapter<RewardUserBean, BaseViewHo
helper.setVisible(R.id.riv_pit, item.isSelect());
TextView tvPit = helper.getView(R.id.tv_pit);
if (item.isSelect()) {
helper.getView(R.id.tv_pit).setBackgroundResource(com.xscm.moduleutil.R.mipmap.gift_show);
// helper.getView(R.id.tv_pit).setBackgroundResource(com.xscm.moduleutil.R.mipmap.gift_show);
helper.getView(R.id.tv_pit).setBackgroundTintList(ColorStateList.valueOf(UtilConfig.getAttrColor(tvPit.getContext(),com.xscm.moduleutil.R.attr.app_color_colorPrimary)));
tvPit.setTextColor(Color.parseColor("#ffffff"));
} else {
helper.getView(R.id.tv_pit).setBackgroundResource(com.xscm.moduleutil.R.mipmap.gift_show_b);
helper.getView(R.id.tv_pit).setBackgroundTintList(ColorStateList.valueOf(Color.parseColor("#FFFFFF")));
tvPit.setTextColor(Color.parseColor("#ff333333"));
}
}
@@ -78,10 +81,11 @@ public class GiftUserAdapter extends BaseQuickAdapter<RewardUserBean, BaseViewHo
}
}
if (item.isSelect()) {
helper.getView(R.id.tv_pit).setBackgroundResource(com.xscm.moduleutil.R.mipmap.gift_show);
helper.getView(R.id.tv_pit).setBackgroundTintList(ColorStateList.valueOf(UtilConfig.getAttrColor(tvPit.getContext(),com.xscm.moduleutil.R.attr.app_color_colorPrimary)));
tvPit.setTextColor(Color.parseColor("#ffffff"));
} else {
helper.getView(R.id.tv_pit).setBackgroundResource(com.xscm.moduleutil.R.mipmap.gift_show_b);
// helper.getView(R.id.tv_pit).setBackgroundResource(com.xscm.moduleutil.R.mipmap.gift_show_b);
helper.getView(R.id.tv_pit).setBackgroundTintList(ColorStateList.valueOf(Color.parseColor("#FFFFFF")));
tvPit.setTextColor(Color.parseColor("#ff333333"));
}
}

View File

@@ -7,6 +7,7 @@ import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.xscm.modulemain.R
import com.xscm.moduleutil.bean.PitTimeRespBean
import com.xscm.moduleutil.utils.UtilConfig
/**
* 项目名称:羽声语音
@@ -40,8 +41,8 @@ class RoomPitTimeAdapter(val dataList: List<PitTimeRespBean>,
// 设置选中状态
if (position == selectedPosition) {
textView.setBackgroundResource(R.drawable.bg_item_selected) // 选中背景
textView.setTextColor(android.graphics.Color.parseColor("#3ABC6D"))
textView.setBackgroundResource(UtilConfig.getAttBg(itemView.context,com.xscm.moduleutil.R.attr.app_select_item)) // 选中背景
textView.setTextColor(UtilConfig.getAttrColor(itemView.context,com.xscm.moduleutil.R.attr.app_color_colorPrimary))
} else {
textView.setBackgroundResource(R.drawable.bg_item_normal) // 默认背景
textView.setTextColor(android.graphics.Color.parseColor("#333333"))

View File

@@ -4,9 +4,9 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.compose.ui.graphics.Color
import androidx.recyclerview.widget.RecyclerView
import com.xscm.modulemain.R
import com.xscm.moduleutil.utils.UtilConfig
/**
* 项目名称:羽声语音
@@ -41,8 +41,8 @@ class RoomTalentAdapter(
// 设置选中状态
if (position == selectedPosition) {
textView.setBackgroundResource(R.drawable.bg_item_selected) // 选中背景
textView.setTextColor(android.graphics.Color.parseColor("#3ABC6D"))
textView.setBackgroundResource(UtilConfig.getAttBg(itemView.context,com.xscm.moduleutil.R.attr.app_select_item)) // 选中背景
textView.setTextColor(UtilConfig.getAttrColor(itemView.context,com.xscm.moduleutil.R.attr.app_color_colorPrimary))
} else {
textView.setBackgroundResource(R.drawable.bg_item_normal) // 默认背景
textView.setTextColor(android.graphics.Color.parseColor("#333333"))

View File

@@ -52,8 +52,13 @@ public class SearchUserResultAdapter extends BaseQuickAdapter<UserResultResp, Ba
helper.getView(R.id.gensui).setBackgroundResource(com.xscm.moduleutil.R.mipmap.six);
}
helper.getView(R.id.dy_head_image).setOnClickListener(new View.OnClickListener() {
/**
* Handles the click event for the view
* @param v The view that was clicked
*/
@Override
public void onClick(View v) {
// Check if the listener is set before calling the click handler
if (mListener != null) mListener.onHeadImageClick(item);
}
});