1:添加签约房的按钮
2:我的家族和的身价页面完成 3:个性装扮降身卡完成
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.xscm.modulemain.activity.room.fragment;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@@ -9,6 +10,7 @@ import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
|
||||
import com.blankj.utilcode.util.ActivityUtils;
|
||||
import com.scwang.smartrefresh.layout.api.RefreshLayout;
|
||||
import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener;
|
||||
import com.xscm.modulemain.R;
|
||||
@@ -17,15 +19,23 @@ import com.xscm.modulemain.activity.room.contacts.RequestSongContacts;
|
||||
import com.xscm.modulemain.activity.room.presenter.RequestSongPresenter;
|
||||
import com.xscm.modulemain.activity.room.adapter.SongAdapter;
|
||||
import com.xscm.modulemain.activity.room.adapter.WheatPositionAdapter;
|
||||
import com.xscm.modulemain.activity.user.activity.HeartCpActivity;
|
||||
import com.xscm.modulemain.databinding.FragmentSongRequestBinding;
|
||||
import com.xscm.moduleutil.base.BaseMvpFragment;
|
||||
import com.xscm.moduleutil.bean.RoomGiftData;
|
||||
import com.xscm.moduleutil.bean.SingerSongCount;
|
||||
import com.xscm.moduleutil.bean.SongPlaylist;
|
||||
import com.xscm.moduleutil.bean.room.RoomPitBean;
|
||||
import com.xscm.moduleutil.dialog.ConfirmDialog;
|
||||
import com.xscm.moduleutil.http.BaseObserver;
|
||||
import com.xscm.moduleutil.http.RetrofitClient;
|
||||
import com.xscm.moduleutil.utils.SpUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import io.reactivex.disposables.Disposable;
|
||||
|
||||
/**
|
||||
* 点歌页面Fragment
|
||||
*/
|
||||
@@ -128,16 +138,37 @@ public class SongRequestFragment extends BaseMvpFragment<RequestSongPresenter, F
|
||||
|
||||
@Override
|
||||
public void onSongClick(SongPlaylist.SongPlaylistBean song, int position) {
|
||||
MvpPre.singerSong(song.getId() + "", roomId);
|
||||
queren1(song);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
// TODO: 2025/11/25 点歌提示框
|
||||
private void queren1(SongPlaylist.SongPlaylistBean song) {
|
||||
// 创建并显示确认对话框
|
||||
new ConfirmDialog(ActivityUtils.getTopActivity(),
|
||||
"温馨提示",
|
||||
"您是否确认点歌<"+song.getSong_name()+">\n 演唱者:"+song.getSinger_nickname()+"\n 礼物价值:"+Integer.valueOf(song.getGift_price())*Integer.valueOf(song.getGift_num())+"金币",
|
||||
"确认",
|
||||
"取消",
|
||||
v -> {
|
||||
MvpPre.singerSong(song.getId() + "", roomId);
|
||||
},
|
||||
v -> {
|
||||
// 点击“取消”按钮时什么都不做
|
||||
|
||||
}, false,0).show();
|
||||
}
|
||||
|
||||
private void updateSongList(int wheatPosition) {
|
||||
// 根据选中的麦位更新歌曲列表
|
||||
// 可以在这里调用接口获取对应麦位的歌曲列表
|
||||
MvpPre.getSong(wheatPosition + "", "", "1", "10");
|
||||
if (wheatPosition==0){
|
||||
MvpPre.getSong( "", roomId, "1", "10");
|
||||
}else {
|
||||
MvpPre.getSong(wheatPosition + "", "", "1", "10");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -31,76 +31,9 @@ import java.util.List;
|
||||
* @description: 个性装扮
|
||||
*/
|
||||
public class PersonalityActivity extends BaseMvpActivity<PersonalityPresenter, ActivityPersonalityBinding> implements PersonalityConacts.View {
|
||||
private List<String> titleList = new ArrayList();
|
||||
private List<Fragment> mFragments = new ArrayList();
|
||||
|
||||
private MyPagerAdapter myAdapter;
|
||||
|
||||
@Override
|
||||
protected void initData() {
|
||||
|
||||
|
||||
|
||||
// titleList.add("头像框");
|
||||
// titleList.add("座驾");
|
||||
// titleList.add("气泡");
|
||||
// titleList.add("个人靓号");
|
||||
// titleList.add("房间靓号");
|
||||
// titleList.add("工会靓号");
|
||||
//
|
||||
// mFragments.add(ZhuangBanShangChengFragment.newInstance(1));
|
||||
// mFragments.add(ZhuangBanShangChengFragment.newInstance(2));
|
||||
// mFragments.add(ZhuangBanShangChengFragment.newInstance(3));
|
||||
// mFragments.add(ZhuangBanShangChengFragment.newInstance(4));
|
||||
// mFragments.add(ZhuangBanShangChengFragment.newInstance(5));
|
||||
// mFragments.add(ZhuangBanShangChengFragment.newInstance(6));
|
||||
|
||||
// myAdapter = new MyPagerAdapter(getSupportFragmentManager(), mFragments, titleList);
|
||||
// mBinding.viewPager.setAdapter(myAdapter);
|
||||
// mBinding.viewPager.setOffscreenPageLimit(mFragments.size());
|
||||
// mBinding.tabLayout.setupWithViewPager(mBinding.viewPager);
|
||||
// setCustomViews();
|
||||
|
||||
// mBinding.tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
|
||||
// @Override
|
||||
// public void onTabSelected(TabLayout.Tab tab) {
|
||||
// updateTabView(tab, true);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onTabUnselected(TabLayout.Tab tab) {
|
||||
// updateTabView(tab, false);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onTabReselected(TabLayout.Tab tab) {
|
||||
// // 可选实现
|
||||
// }
|
||||
//
|
||||
// private void updateTabView(TabLayout.Tab tab, boolean isSelected) {
|
||||
// if (tab.getCustomView() == null) return;
|
||||
//
|
||||
// TextView text = tab.getCustomView().findViewById(R.id.tv_zbtab);
|
||||
// ImageView vView = tab.getCustomView().findViewById(R.id.v_view);
|
||||
//
|
||||
// if (text != null) {
|
||||
// if (isSelected) {
|
||||
// text.setTextColor(Color.parseColor("#333333"));
|
||||
// text.setTextSize(16f);
|
||||
// text.setTypeface(Typeface.DEFAULT_BOLD);
|
||||
// } else {
|
||||
// text.setTextColor(Color.parseColor("#5B5B5B"));
|
||||
// text.setTextSize(14f);
|
||||
// text.setTypeface(Typeface.DEFAULT);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (vView != null) {
|
||||
// vView.setVisibility(isSelected ? View.VISIBLE : View.GONE);
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -135,44 +68,10 @@ public class PersonalityActivity extends BaseMvpActivity<PersonalityPresenter, A
|
||||
return R.layout.activity_personality;
|
||||
}
|
||||
|
||||
// private void setCustomViews() {
|
||||
// int mSelectedTabPosition = mBinding.tabLayout.getSelectedTabPosition();
|
||||
// for (int i = 0; i < titleList.size(); i++) {
|
||||
// Objects.requireNonNull(mBinding.tabLayout.getTabAt(i)).setCustomView(getTabView(i, mSelectedTabPosition));
|
||||
// }
|
||||
// }
|
||||
|
||||
// private View getTabView(int index, int mSelectedTabPosition) {
|
||||
// // 自定义View布局
|
||||
// View view = LayoutInflater.from(this).inflate(R.layout.item_tablayout_headerzb, null);
|
||||
// TextView title = view.findViewById(R.id.tv_zbtab);
|
||||
// ImageView v_view = view.findViewById(R.id.v_view);
|
||||
// title.setText(titleList.get(index));
|
||||
// title.setSelected(index == mSelectedTabPosition);
|
||||
//// v_view.setSelected(index == mSelectedTabPosition);
|
||||
// v_view.setVisibility(index == mSelectedTabPosition ? View.VISIBLE : View.GONE);
|
||||
// if (index == mSelectedTabPosition) {
|
||||
// title.setTextColor(Color.parseColor("#333333"));
|
||||
// title.setTextSize(16f);
|
||||
// title.setTypeface(Typeface.DEFAULT_BOLD);
|
||||
// // title.setTextSize(TypedValue.COMPLEX_UNIT_SP, 17f);
|
||||
// // title.setTypeface(Typeface.DEFAULT_BOLD);
|
||||
// } else {
|
||||
// title.setTextColor(Color.parseColor("#5B5B5B"));
|
||||
// title.setTextSize(14f);
|
||||
// // title.setTextSize(TypedValue.COMPLEX_UNIT_SP, 15f);
|
||||
// // title.setTypeface(Typeface.DEFAULT);
|
||||
// }
|
||||
//
|
||||
// return view;
|
||||
// }
|
||||
|
||||
@Override
|
||||
public void getPersonaltyList(List<PersonaltyBean> personaltyBean) {
|
||||
mBinding.viewPager.setAdapter(new MyFragmentPagerAdapter(getSupportFragmentManager(), personaltyBean));
|
||||
// mBinding.viewPager.setOffscreenPageLimit(mFragments.size());
|
||||
// mBinding.tabLayout.setupWithViewPager(mBinding.viewPager);
|
||||
// setCustomViews();
|
||||
|
||||
mBinding.slidingTabLayout.setViewPager(mBinding.viewPager);
|
||||
mBinding.slidingTabLayout.setCurrentTab(0);
|
||||
@@ -188,6 +87,11 @@ public class PersonalityActivity extends BaseMvpActivity<PersonalityPresenter, A
|
||||
public void onPageSelected(int position) {
|
||||
// 当页面切换时,控制 tv_bb_qs 按钮的显示
|
||||
refreshCurrentGiftFragment(personaltyBean.get(position).getId(),position);
|
||||
if (personaltyBean.get(position).getId().equals("12")){
|
||||
mBinding.cl2.setVisibility(View.GONE);
|
||||
}else {
|
||||
mBinding.cl2.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
package com.xscm.modulemain.activity.user.activity
|
||||
|
||||
import android.util.Log
|
||||
import com.xscm.modulemain.BaseMvpActivity
|
||||
import com.xscm.modulemain.R
|
||||
import com.xscm.modulemain.activity.user.conacts.UserFamilyConacts
|
||||
import com.xscm.modulemain.activity.user.presenter.UserFamilyPresenter
|
||||
import com.xscm.modulemain.databinding.ActivityTotalRevenueBinding
|
||||
import com.xscm.moduleutil.widget.DoubleTimePickerBottomSheet
|
||||
import com.xscm.moduleutil.widget.DoubleTimePickerBottomSheet.OnTimeRangeSelectedListener
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Date
|
||||
import java.util.Locale
|
||||
|
||||
/**
|
||||
* @Author qx
|
||||
* @Time 2025/11/26 10:56
|
||||
* @Description 家族总收益
|
||||
*/
|
||||
class TotalRevenueActivity : BaseMvpActivity<UserFamilyPresenter, ActivityTotalRevenueBinding>(),
|
||||
UserFamilyConacts.View {
|
||||
|
||||
var page = 1
|
||||
var type = "1"
|
||||
var revenueType = "1"
|
||||
override fun bindPresenter(): UserFamilyPresenter? {
|
||||
return UserFamilyPresenter(this, this)
|
||||
}
|
||||
|
||||
|
||||
override fun initData() {
|
||||
mBinding.topBar.tvTitle.text = "总收益"
|
||||
|
||||
mBinding.rl3.setOnClickListener({ v ->
|
||||
val dialog = DoubleTimePickerBottomSheet()
|
||||
dialog.setOnTimeRangeSelectedListener(OnTimeRangeSelectedListener { startDate: Date?, endDate: Date? ->
|
||||
// 处理选择的时间范围
|
||||
val sdf = SimpleDateFormat("yyyy-MM-dd", Locale.getDefault())
|
||||
Log.d("SelectedTime", "开始时间:" + sdf.format(startDate))
|
||||
mBinding.tv2.setText(sdf.format(startDate))
|
||||
Log.d("SelectedTime", "结束时间:" + sdf.format(endDate))
|
||||
mBinding.tv22.setText(sdf.format(endDate))
|
||||
page = 1
|
||||
|
||||
})
|
||||
val fragmentManager = supportFragmentManager
|
||||
|
||||
dialog.show(fragmentManager,"DoubleTimePickerBottomSheet")
|
||||
})
|
||||
}
|
||||
|
||||
override fun getLayoutId(): Int {
|
||||
return R.layout.activity_total_revenue
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,110 @@
|
||||
package com.xscm.modulemain.activity.user.activity
|
||||
|
||||
import android.graphics.Color
|
||||
import android.view.LayoutInflater
|
||||
import android.widget.ImageView
|
||||
import android.widget.TextView
|
||||
import com.google.android.material.tabs.TabLayout
|
||||
import com.google.android.material.tabs.TabLayoutMediator
|
||||
import com.xscm.modulemain.BaseMvpActivity
|
||||
import com.xscm.modulemain.R
|
||||
import com.xscm.modulemain.activity.user.conacts.UserFamilyConacts
|
||||
import com.xscm.modulemain.activity.user.presenter.UserFamilyPresenter
|
||||
import com.xscm.modulemain.adapter.FamilyPagerAdapter
|
||||
import com.xscm.modulemain.databinding.ActivityUserFamilyBinding
|
||||
|
||||
/**
|
||||
* @Author qx
|
||||
* @Time 2025/11/25 17:11
|
||||
* @Description 我的家族
|
||||
*/
|
||||
class UserFamilyActivity : BaseMvpActivity<UserFamilyPresenter, ActivityUserFamilyBinding>(),
|
||||
UserFamilyConacts.View {
|
||||
|
||||
private lateinit var mAdapter: FamilyPagerAdapter
|
||||
|
||||
override fun bindPresenter(): UserFamilyPresenter? {
|
||||
return UserFamilyPresenter(this,this)
|
||||
}
|
||||
|
||||
override fun doDone() {
|
||||
super.doDone()
|
||||
}
|
||||
|
||||
override fun initView() {
|
||||
super.initView()
|
||||
}
|
||||
|
||||
override fun initData() {
|
||||
mBinding.topBar.setTitle("家族")
|
||||
mBinding.topBar.setColor(getResources().getColor(R.color.white))
|
||||
setupViewPager()
|
||||
setupTabLayout()
|
||||
}
|
||||
|
||||
|
||||
|
||||
override fun getLayoutId(): Int {
|
||||
return R.layout.activity_user_family
|
||||
}
|
||||
|
||||
private fun setupViewPager() {
|
||||
mAdapter = FamilyPagerAdapter(this)
|
||||
mBinding.viewPager.adapter = mAdapter
|
||||
}
|
||||
|
||||
private fun setupTabLayout() {
|
||||
// 设置TabLayout的内部padding为0,确保tab与边框贴合
|
||||
|
||||
TabLayoutMediator(mBinding.tabLayout, mBinding.viewPager) { tab, position ->
|
||||
// 创建自定义Tab视图
|
||||
val customView = LayoutInflater.from(this).inflate(R.layout.custom_tab_family, null)
|
||||
val tabTitle = customView.findViewById<TextView>(R.id.tab_title)
|
||||
|
||||
when (position) {
|
||||
0 -> {
|
||||
tabTitle.text = "我的家族"
|
||||
}
|
||||
1 -> {
|
||||
tabTitle.text = "我加入的家族"
|
||||
}
|
||||
}
|
||||
|
||||
// 设置Tab的初始状态
|
||||
if (position == 0) {
|
||||
tabTitle.setBackgroundResource(R.mipmap.user_tab_bj)
|
||||
tabTitle.setTextColor(Color.BLACK)
|
||||
} else {
|
||||
tabTitle.setBackgroundResource(0)
|
||||
tabTitle.setTextColor(Color.WHITE)
|
||||
}
|
||||
|
||||
tab.customView = customView
|
||||
}.attach()
|
||||
|
||||
// 设置Tab选中监听
|
||||
mBinding.tabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener {
|
||||
override fun onTabSelected(tab: TabLayout.Tab) {
|
||||
val customView = tab.customView
|
||||
if (customView != null) {
|
||||
val tabTitle = customView.findViewById<TextView>(R.id.tab_title)
|
||||
tabTitle.setTextColor(Color.BLACK)
|
||||
tabTitle.setBackgroundResource(R.mipmap.user_tab_bj)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onTabUnselected(tab: TabLayout.Tab) {
|
||||
val customView = tab.customView
|
||||
if (customView != null) {
|
||||
val tabTitle = customView.findViewById<TextView>(R.id.tab_title)
|
||||
tabTitle.setTextColor(Color.WHITE)
|
||||
tabTitle.setBackgroundResource(0)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onTabReselected(tab: TabLayout.Tab) {
|
||||
// 可以在这里处理重复点击Tab的事件
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -109,6 +109,9 @@ class BosomFriendFragment : BaseMvpFragment<UserHomepagePresenter?, FragmentBoso
|
||||
override fun initView() {
|
||||
if (type == 1) {
|
||||
mBinding.root.setBackgroundResource(R.mipmap.bj_intimate)
|
||||
mBinding.imIntimate.setPadding(0, 270, 0, 0)
|
||||
}else{
|
||||
mBinding.imIntimate.setPadding(0, 80, 0, 0)
|
||||
}
|
||||
|
||||
mBinding.rvMyRelationship.layoutManager =
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.xscm.modulemain.activity.user.conacts
|
||||
|
||||
import android.app.Activity
|
||||
import com.xscm.moduleutil.activity.IPresenter
|
||||
import com.xscm.moduleutil.activity.IView
|
||||
|
||||
/**
|
||||
* 项目名称:羽声语音
|
||||
* 时间:2025/11/25 17:01
|
||||
* 用途:
|
||||
*/
|
||||
class UserFamilyConacts {
|
||||
interface View : IView<Activity>{
|
||||
|
||||
}
|
||||
|
||||
interface IPre : IPresenter {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.xscm.modulemain.activity.user.fragment
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.fragment.app.Fragment
|
||||
import com.xscm.modulemain.databinding.FragmentJoinedFamilyBinding
|
||||
|
||||
/**
|
||||
* @Author qx
|
||||
* @Time 2025/11/25 17:20
|
||||
* @Description 我加入的家族Fragment
|
||||
*/
|
||||
class JoinedFamilyFragment : Fragment() {
|
||||
|
||||
private var _binding: FragmentJoinedFamilyBinding? = null
|
||||
private val binding get() = _binding!!
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater,
|
||||
container: ViewGroup?,
|
||||
savedInstanceState: Bundle?
|
||||
): View {
|
||||
_binding = FragmentJoinedFamilyBinding.inflate(inflater, container, false)
|
||||
return binding.root
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
companion object {
|
||||
fun newInstance(): JoinedFamilyFragment {
|
||||
return JoinedFamilyFragment()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
package com.xscm.modulemain.activity.user.fragment
|
||||
|
||||
import android.content.Intent
|
||||
import android.view.View
|
||||
import com.blankj.utilcode.util.ActivityUtils
|
||||
import com.xscm.modulemain.R
|
||||
import com.xscm.modulemain.activity.user.activity.HeartCpActivity
|
||||
import com.xscm.modulemain.activity.user.activity.TotalRevenueActivity
|
||||
import com.xscm.modulemain.activity.user.conacts.UserFamilyConacts
|
||||
import com.xscm.modulemain.activity.user.presenter.UserFamilyPresenter
|
||||
import com.xscm.modulemain.databinding.FragmentMyFamilyBinding
|
||||
import com.xscm.moduleutil.base.BaseMvpFragment
|
||||
import com.xscm.moduleutil.dialog.ConfirmDialog
|
||||
import com.xscm.moduleutil.widget.CommonEmptyView
|
||||
|
||||
/**
|
||||
* @Author qx
|
||||
* @Time 2025/11/25 17:20
|
||||
* @Description 我的家族Fragment
|
||||
*/
|
||||
class MyFamilyFragment : BaseMvpFragment<UserFamilyPresenter, FragmentMyFamilyBinding>(), UserFamilyConacts.View {
|
||||
|
||||
override fun bindPresenter(): UserFamilyPresenter? {
|
||||
return UserFamilyPresenter(this, activity!!)
|
||||
}
|
||||
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
}
|
||||
|
||||
override fun initData() {
|
||||
}
|
||||
|
||||
override fun initView() {
|
||||
mBinding.tvZsyNum2.setOnClickListener {
|
||||
val intent= Intent(activity, TotalRevenueActivity::class.java)
|
||||
startActivity(intent)
|
||||
}
|
||||
|
||||
val commonEmptyView = CommonEmptyView(getContext()!!)
|
||||
commonEmptyView.setImg(R.mipmap.ic_empty)
|
||||
commonEmptyView.setTextColor(getResources().getColor(com.xscm.moduleutil.R.color.color_FFBDBDBC))
|
||||
// manageAdapter.bindToRecyclerView(mBinding.recycleView)
|
||||
// manageAdapter.setEmptyView(commonEmptyView)
|
||||
}
|
||||
|
||||
override fun getLayoutId(): Int {
|
||||
return R.layout.fragment_my_family
|
||||
}
|
||||
|
||||
companion object {
|
||||
fun newInstance(): MyFamilyFragment {
|
||||
return MyFamilyFragment()
|
||||
}
|
||||
}
|
||||
|
||||
private fun queren1(
|
||||
type: Int,
|
||||
content: String?,
|
||||
giftid: String?,
|
||||
userId: String,
|
||||
roomId: String?
|
||||
) {
|
||||
// 创建并显示确认对话框
|
||||
ConfirmDialog(
|
||||
ActivityUtils.getTopActivity(),
|
||||
"续约提示",
|
||||
content,
|
||||
if (type == 1) "确认免费续约" else "确认续约",
|
||||
"取消",
|
||||
View.OnClickListener { v: View? ->
|
||||
if (type == 1) {
|
||||
|
||||
} else {
|
||||
val userids = userId.toInt()
|
||||
val intent = Intent(ActivityUtils.getTopActivity(), HeartCpActivity::class.java)
|
||||
intent.putExtra("userId", userids)
|
||||
startActivity(intent)
|
||||
}
|
||||
},
|
||||
View.OnClickListener { v: View? -> }, false, 0
|
||||
).show()
|
||||
}
|
||||
|
||||
}
|
||||
@@ -26,6 +26,7 @@ import com.xscm.modulemain.activity.user.activity.GiftWallActivity;
|
||||
import com.xscm.modulemain.activity.user.activity.NobleTitleActivity;
|
||||
import com.xscm.modulemain.activity.user.activity.RechargeActivity;
|
||||
import com.xscm.modulemain.activity.user.activity.SingerVerificationActivity;
|
||||
import com.xscm.modulemain.activity.user.activity.UserFamilyActivity;
|
||||
import com.xscm.modulemain.activity.user.activity.UserPlaylistActivity;
|
||||
import com.xscm.modulemain.databinding.FragmentVocalRangeBinding;
|
||||
import com.xscm.modulemain.activity.user.activity.BlacklistActivity;
|
||||
@@ -40,6 +41,7 @@ import com.xscm.modulemain.activity.user.activity.UserHomepageActivity;
|
||||
import com.xscm.modulemain.activity.user.conacts.MeConacts;
|
||||
import com.xscm.modulemain.activity.user.presenter.MePresenter;
|
||||
import com.xscm.modulemain.activity.WebViewActivity;
|
||||
import com.xscm.modulemain.dialog.UserNetWorthDialog;
|
||||
import com.xscm.moduleutil.base.WebUrlConstants;
|
||||
import com.xscm.moduleutil.widget.ShineTextView;
|
||||
import com.xscm.moduleutil.base.BaseMvpFragment;
|
||||
@@ -124,6 +126,8 @@ public class VocalRangeFragment extends BaseMvpFragment<MePresenter, FragmentVoc
|
||||
mBinding.llSinger.setOnClickListener(this::onClick);
|
||||
mBinding.llPlaylist.setOnClickListener(this::onClick);
|
||||
mBinding.llMeZy.setOnClickListener(this::onClick);
|
||||
mBinding.llMyNetWorth.setOnClickListener(this::onClick);
|
||||
mBinding.llJz.setOnClickListener(this::onClick);
|
||||
|
||||
mBinding.banner.loadImage(new XBanner.XBannerAdapter() {
|
||||
@Override
|
||||
@@ -214,14 +218,7 @@ public class VocalRangeFragment extends BaseMvpFragment<MePresenter, FragmentVoc
|
||||
Intent intent = new Intent(getContext(), UserHomepageActivity.class);
|
||||
intent.putExtra("userId", SpUtil.getUserId() + "");
|
||||
startActivity(intent);
|
||||
}
|
||||
// else if (id == R.id.me_my_lv) {
|
||||
// ARouter.getInstance().build(ARouteConstants.ME_GRADEACTIVITY).withString("from", "我的界面").withInt("type", 1).navigation();
|
||||
// } else if (id == R.id.tv_my_sc) {
|
||||
// //装扮商城
|
||||
// ARouter.getInstance().build(ARouteConstants.ME_SHOP).withString("from", "我的界面").navigation();
|
||||
// }
|
||||
else if (id == R.id.me_dress_up){//个性装扮
|
||||
} else if (id == R.id.me_dress_up){//个性装扮
|
||||
startActivity(new Intent(getContext(), PersonalityActivity.class));
|
||||
}
|
||||
else if (id == R.id.tv_my_bb) {
|
||||
@@ -263,25 +260,29 @@ public class VocalRangeFragment extends BaseMvpFragment<MePresenter, FragmentVoc
|
||||
req.url = "https://work.weixin.qq.com/kfid/kfcb3d23a59c188a0e7"; // 客服URL
|
||||
api.sendReq(req);
|
||||
} else if (id == R.id.ll_gift_wall) {//我的页面的礼物墙
|
||||
|
||||
Intent intent=new Intent(getContext(), GiftWallActivity.class);
|
||||
intent.putExtra("userId",userInfo.getUser_id());
|
||||
startActivity(intent);
|
||||
|
||||
} else if (id == R.id.cl_noble_title) {//爵位展示页面
|
||||
startActivity(new Intent(getContext(), NobleTitleActivity.class));
|
||||
} else if (id == R.id.ll_singer) {//歌手认证
|
||||
Intent intent = new Intent(getContext(), SingerVerificationActivity.class);
|
||||
intent.putExtra("isSinger", userInfo.getSinger_status());
|
||||
startActivity(intent);
|
||||
|
||||
} else if (id == R.id.ll_playlist) {//我的歌单
|
||||
Intent intent = new Intent(getContext(), UserPlaylistActivity.class);
|
||||
startActivity(intent);
|
||||
}else if (id == R.id.ll_me_zy) {
|
||||
}else if (id == R.id.ll_me_zy) {//挚友
|
||||
Intent intent=new Intent(getContext(), BosomFriendActivity.class);
|
||||
startActivity(intent);
|
||||
}else if (id == R.id.ll_my_net_worth) {//身价
|
||||
UserNetWorthDialog dialog = new UserNetWorthDialog(getContext());
|
||||
dialog.show();
|
||||
}else if (id == R.id.ll_jz) {//我的家族
|
||||
Intent intent=new Intent(getContext(), UserFamilyActivity.class);
|
||||
startActivity(intent);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void copyComment(String content) {
|
||||
|
||||
@@ -33,7 +33,7 @@ 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.getRemaining_day()+"天")
|
||||
helper.setText(R.id.integral, !item.getType().equals("12")?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()) {
|
||||
|
||||
@@ -2,22 +2,33 @@ package com.xscm.modulemain.activity.user.fragment.zhuangb;
|
||||
|
||||
import static android.view.View.GONE;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
import android.text.SpannableString;
|
||||
import android.text.Spanned;
|
||||
import android.text.style.ForegroundColorSpan;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
|
||||
import com.blankj.utilcode.util.ActivityUtils;
|
||||
import com.xscm.modulemain.R;
|
||||
import com.xscm.modulemain.activity.user.activity.HeartCpActivity;
|
||||
import com.xscm.modulemain.databinding.ZhuangbanRecyclerviewNorefBinding;
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.makeramen.roundedimageview.RoundedImageView;
|
||||
import com.tencent.qgame.animplayer.AnimView;
|
||||
import com.xscm.modulemain.activity.user.fragment.MyRoomListFragment;
|
||||
import com.xscm.moduleutil.base.BaseMvpFragment;
|
||||
import com.xscm.moduleutil.bean.RoomGiftData;
|
||||
import com.xscm.moduleutil.bean.zhuangb.ZhuangBanShangChengBean;
|
||||
import com.xscm.moduleutil.color.ThemeableDrawableUtils;
|
||||
import com.xscm.moduleutil.dialog.ConfirmDialog;
|
||||
import com.xscm.moduleutil.http.BaseObserver;
|
||||
import com.xscm.moduleutil.http.RetrofitClient;
|
||||
import com.xscm.moduleutil.utils.ColorManager;
|
||||
import com.xscm.moduleutil.utils.ImageUtils;
|
||||
import com.xscm.moduleutil.utils.SpUtil;
|
||||
@@ -27,6 +38,8 @@ import com.xscm.moduleutil.widget.GiftAnimView;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import io.reactivex.disposables.Disposable;
|
||||
|
||||
public class ZhuangBanShangChengFragment extends BaseMvpFragment<ZhuangBanShangChengPresenter, ZhuangbanRecyclerviewNorefBinding> implements ZhuangBanShangChengConactos.View {
|
||||
|
||||
private int type;
|
||||
@@ -40,6 +53,7 @@ public class ZhuangBanShangChengFragment extends BaseMvpFragment<ZhuangBanShangC
|
||||
AnimView item_animview;
|
||||
RoundedImageView image_user;
|
||||
private int tabIndex;
|
||||
private String zbName, zbPrice;//这是降身卡名称、降身卡可能降低的金额
|
||||
|
||||
@Override
|
||||
protected ZhuangBanShangChengPresenter bindPresenter() {
|
||||
@@ -60,7 +74,7 @@ public class ZhuangBanShangChengFragment extends BaseMvpFragment<ZhuangBanShangC
|
||||
type = arguments.getInt("type", MyRoomListFragment.TYPE_CREATE);
|
||||
}
|
||||
|
||||
public void loadDataIfNeeded(int type,int tabIndex) {
|
||||
public void loadDataIfNeeded(int type, int tabIndex) {
|
||||
if (MvpPre == null) {
|
||||
MvpPre = bindPresenter();
|
||||
}
|
||||
@@ -68,25 +82,18 @@ public class ZhuangBanShangChengFragment extends BaseMvpFragment<ZhuangBanShangC
|
||||
this.tabIndex = tabIndex;
|
||||
MvpPre.getDecorateList(type + "", tabIndex);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initData() {
|
||||
MvpPre.getDecorateList(type + "", tabIndex);
|
||||
if (type == 12) {
|
||||
mBinding.zhuangbanBuy.setText("确认使用");
|
||||
} else {
|
||||
mBinding.zhuangbanBuy.setText("确认装扮");
|
||||
}
|
||||
|
||||
|
||||
// //这里根据传递的type进行数据查询
|
||||
|
||||
// zhuangBanShangChengBeanList=new ArrayList<>();
|
||||
// for (int i = 0; i < 10; i++) {
|
||||
// ZhuangBanShangChengBean zhuangBanShangChengBean=new ZhuangBanShangChengBean();
|
||||
// zhuangBanShangChengBean.setTitle("标题"+i);
|
||||
// zhuangBanShangChengBean.setIntegral("积分"+i);
|
||||
// zhuangBanShangChengBean.setPeriod(i);
|
||||
// zhuangBanShangChengBean.setType("类型"+i);
|
||||
// zhuangBanShangChengBean.setBase_image("");
|
||||
// zhuangBanShangChengBeanList.add(zhuangBanShangChengBean);
|
||||
// }
|
||||
image_user = (RoundedImageView) getActivity().findViewById(R.id.iv_user);
|
||||
imageBg = (AvatarFrameView) getActivity().findViewById(R.id.image_headPortrait);
|
||||
// imageBg2 = (GiftAnimView) getActivity().findViewById(R.id.image_headPortrait2);
|
||||
@@ -105,21 +112,6 @@ public class ZhuangBanShangChengFragment extends BaseMvpFragment<ZhuangBanShangC
|
||||
ImageUtils.loadHeadCC(SpUtil.getUserInfo().getAvatar(), image_user);
|
||||
}
|
||||
}
|
||||
// if (type == 1) {
|
||||
//// image_user.setVisibility(View.VISIBLE);
|
||||
// imageBg.setVisibility(View.VISIBLE);
|
||||
// imageBg2.setVisibility(View.GONE);
|
||||
// } else if (type == 2){
|
||||
//// image_user.setVisibility(View.GONE);
|
||||
// imageBg.setVisibility(View.GONE);
|
||||
// imageBg2.setVisibility(View.VISIBLE);
|
||||
// }else {
|
||||
//// image_user.setVisibility(View.GONE);
|
||||
// imageBg.setVisibility(View.GONE);
|
||||
// imageBg2.setVisibility(View.GONE);
|
||||
// }
|
||||
|
||||
|
||||
adapter = new ZhuangBanShangChengAdapter();
|
||||
GridLayoutManager gridLayoutManager = new GridLayoutManager(getContext(), 3);
|
||||
mBinding.recyclerView.setLayoutManager(gridLayoutManager);
|
||||
@@ -129,52 +121,26 @@ public class ZhuangBanShangChengFragment extends BaseMvpFragment<ZhuangBanShangC
|
||||
List<ZhuangBanShangChengBean> list = (List<ZhuangBanShangChengBean>) adapter1.getData();
|
||||
// 清除之前的选择状态
|
||||
clearPreviousSelection(list);
|
||||
// // 设置当前选择
|
||||
// ZhuangBanShangChengBean selectedBean = list.get(position);
|
||||
// selectedBean.setIs_select(true);
|
||||
// pSelect = position;
|
||||
// did = selectedBean.getUdid();
|
||||
//
|
||||
// // 更新UI显示
|
||||
// if (position == 0) { // "无"选项
|
||||
// mBinding.ll.setVisibility(View.GONE);
|
||||
// clearDecorations();
|
||||
// } else {
|
||||
// mBinding.ll.setVisibility(View.VISIBLE);
|
||||
//
|
||||
// if ("svga".equalsIgnoreCase(getFileExtension(selectedBean.getPlay_image()))) {
|
||||
// imageBg.stopAll();
|
||||
// imageBg.setSource(selectedBean.getPlay_image(), 2);
|
||||
// } else if ("mp4".equalsIgnoreCase(getFileExtension(selectedBean.getPlay_image()))) {
|
||||
// imageBg.stopAll();
|
||||
// imageBg.setSource(selectedBean.getPlay_image(), 2);
|
||||
// }
|
||||
// }
|
||||
|
||||
if (pSelect != -1 && pSelect != position) {
|
||||
list.get(pSelect).setIs_select(false);
|
||||
list.get(position).setIs_select(true);
|
||||
pSelect = position;
|
||||
did = list.get(position).getUdid();
|
||||
mBinding.ll.setVisibility(View.VISIBLE);
|
||||
if (list.get( position)!=null && list.get(position).getType()!=null && list.get(position).getPlay_image()!=null) {
|
||||
|
||||
// if ("svga".equalsIgnoreCase(getFileExtension(list.get(position).getPlay_image()))) {
|
||||
|
||||
mBinding.ll.setVisibility(View.VISIBLE);
|
||||
if (list.get(position) != null && list.get(position).getType() != null && list.get(position).getPlay_image() != null) {
|
||||
|
||||
if (list.get(position).getType().equals("1")) {
|
||||
imageBg2.setVisibility(View.GONE);
|
||||
imageBg.stopAll();
|
||||
imageBg.setSource(list.get(position).getPlay_image(), 2);
|
||||
} else if (list.get(position).getType().equals("2")) {
|
||||
// imageBg2.setSource(list.get(position).getPlay_image(), 2);
|
||||
imageBg2.setVisibility(View.VISIBLE);
|
||||
imageBg2.previewEffectWith(list.get(position).getPlay_image());
|
||||
}
|
||||
}
|
||||
// } else if ("mp4".equalsIgnoreCase(getFileExtension(list.get(position).getPlay_image()))) {
|
||||
//// imageBg.playMP4(Uri.parse(list.get(position).getPlay_image()));
|
||||
// imageBg.stopAll();
|
||||
// imageBg.setSource(list.get(position).getPlay_image(),2);
|
||||
// }
|
||||
} else if (pSelect != -1 && pSelect == position) {
|
||||
list.get(position).setIs_select(false);
|
||||
pSelect = -1;
|
||||
@@ -185,7 +151,7 @@ public class ZhuangBanShangChengFragment extends BaseMvpFragment<ZhuangBanShangC
|
||||
pSelect = position;
|
||||
mBinding.ll.setVisibility(View.VISIBLE);
|
||||
|
||||
if (list.get( position)!=null && list.get(position).getType()!=null && list.get(position).getPlay_image()!=null) {
|
||||
if (list.get(position) != null && list.get(position).getType() != null && list.get(position).getPlay_image() != null) {
|
||||
|
||||
if (list.get(position).getType().equals("1")) {
|
||||
imageBg2.setVisibility(View.GONE);
|
||||
@@ -193,32 +159,15 @@ public class ZhuangBanShangChengFragment extends BaseMvpFragment<ZhuangBanShangC
|
||||
imageBg.setSource(list.get(position).getPlay_image(), 2);
|
||||
} else if (list.get(position).getType().equals("2")) {
|
||||
imageBg2.setVisibility(View.VISIBLE);
|
||||
// imageBg2.stopAll();
|
||||
// imageBg2.setSource(list.get(position).getPlay_image(), 2);
|
||||
imageBg2.previewEffectWith(list.get(position).getPlay_image());
|
||||
}
|
||||
}
|
||||
|
||||
// loadImage(getContext(),imageBg, list.get(position).getPlay_image());
|
||||
// ImageUtils.loadDecorationAvatar(list.get(position).getPlay_image(), imageBg);
|
||||
// imageBg.load(list.get(position).getPlay_image());
|
||||
// if ("svga".equalsIgnoreCase(getFileExtension(list.get(position).getPlay_image()))) {
|
||||
// imageBg.stopAll();
|
||||
// imageBg.setSource(list.get(position).getPlay_image(), 2);
|
||||
//// imageBg.playSVGA(list.get(position).getPlay_image());
|
||||
// } else if ("mp4".equalsIgnoreCase(getFileExtension(list.get(position).getPlay_image()))) {
|
||||
// imageBg.stopAll();
|
||||
// imageBg.setSource(list.get(position).getPlay_image(), 2);
|
||||
//// imageBg.playMP4(Uri.parse(list.get(position).getPlay_image()));
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
zbName = list.get(position).getTitle();
|
||||
zbPrice = list.get(position).getExt_value();
|
||||
adapter1.setNewData(list);
|
||||
adapter1.notifyDataSetChanged();
|
||||
});
|
||||
adapter.setNewData(zhuangBanShangChengBeanList);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -259,13 +208,61 @@ public class ZhuangBanShangChengFragment extends BaseMvpFragment<ZhuangBanShangC
|
||||
if (did == null || did.isEmpty()) {
|
||||
MvpPre.cancelUserDecorate(type + "");
|
||||
} else {
|
||||
MvpPre.setUserDecorate(did);
|
||||
if (type == 12) {
|
||||
queren(zbName, zbPrice);
|
||||
} else {
|
||||
MvpPre.setUserDecorate(did);
|
||||
}
|
||||
}
|
||||
});
|
||||
ThemeableDrawableUtils.setThemeableRoundedBackground(mBinding.zhuangbanBuy, ColorManager.getInstance().getPrimaryColorInt(), 53);
|
||||
mBinding.zhuangbanBuy.setTextColor(ColorManager.getInstance().getButtonColorInt());
|
||||
}
|
||||
|
||||
private void queren(String name, String price) {
|
||||
// 创建并显示确认对话框
|
||||
new ConfirmDialog(ActivityUtils.getTopActivity(),
|
||||
"温馨提示",
|
||||
getFormattedText(name,price),
|
||||
"确认",
|
||||
"取消",
|
||||
v -> {
|
||||
MvpPre.setUserDecorate(did);
|
||||
},
|
||||
v -> {
|
||||
// 点击“取消”按钮时什么都不做
|
||||
|
||||
}, false, 0).show();
|
||||
}
|
||||
|
||||
public String getFormattedText(String name, String price) {
|
||||
// 1. 构建完整的字符串
|
||||
String fullText = "亲爱的羽声用户,您好~ \n 您是否确认使用" + name + ",本次使用后,您的实时身价将会降低" + price + "%身价。";
|
||||
|
||||
// 2. 创建 SpannableString 实例
|
||||
SpannableString spannableString = new SpannableString(fullText);
|
||||
|
||||
// 3. 找到需要变色的文本的起始和结束位置
|
||||
int nameStart = fullText.indexOf(name);
|
||||
int nameEnd = nameStart + name.length();
|
||||
|
||||
int priceStart = fullText.indexOf(price);
|
||||
int priceEnd = priceStart + price.length();
|
||||
|
||||
// 4. 创建颜色 Span
|
||||
ForegroundColorSpan colorSpan = new ForegroundColorSpan(Color.RED); // 使用 Color.RED 或者你自己的颜色资源
|
||||
|
||||
// 5. 将 Span 应用到指定范围
|
||||
if (nameStart != -1) {
|
||||
spannableString.setSpan(colorSpan, nameStart, nameEnd, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
}
|
||||
if (priceStart != -1) {
|
||||
spannableString.setSpan(colorSpan, priceStart, priceEnd, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
}
|
||||
|
||||
return spannableString.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.zhuangban_recyclerview_noref;
|
||||
@@ -276,13 +273,15 @@ public class ZhuangBanShangChengFragment extends BaseMvpFragment<ZhuangBanShangC
|
||||
if (adapter == null) {
|
||||
adapter = new ZhuangBanShangChengAdapter();
|
||||
}
|
||||
if (zhuangBanShangChengBeans==null){
|
||||
zhuangBanShangChengBeans=new ArrayList<>();
|
||||
if (zhuangBanShangChengBeans == null) {
|
||||
zhuangBanShangChengBeans = new ArrayList<>();
|
||||
}
|
||||
if (type != 12) {
|
||||
ZhuangBanShangChengBean zhuangBanShangChengBean = new ZhuangBanShangChengBean();
|
||||
zhuangBanShangChengBean.setTitle("无");
|
||||
zhuangBanShangChengBean.setBase_image("");
|
||||
zhuangBanShangChengBeans.add(0, zhuangBanShangChengBean);
|
||||
}
|
||||
ZhuangBanShangChengBean zhuangBanShangChengBean = new ZhuangBanShangChengBean();
|
||||
zhuangBanShangChengBean.setTitle("无");
|
||||
zhuangBanShangChengBean.setBase_image("");
|
||||
zhuangBanShangChengBeans.add(0, zhuangBanShangChengBean);
|
||||
adapter.setNewData(zhuangBanShangChengBeans);
|
||||
|
||||
this.tabIndex = tabIndex;
|
||||
@@ -291,6 +290,7 @@ public class ZhuangBanShangChengFragment extends BaseMvpFragment<ZhuangBanShangC
|
||||
@Override
|
||||
public void setUserDecorate() {
|
||||
Toast.makeText(getSelfActivity(), "设置成功", Toast.LENGTH_SHORT).show();
|
||||
MvpPre.getDecorateList(type + "", tabIndex);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.xscm.modulemain.activity.user.presenter
|
||||
|
||||
import android.content.Context
|
||||
import com.xscm.modulemain.activity.user.conacts.UserFamilyConacts
|
||||
import com.xscm.moduleutil.presenter.BasePresenter
|
||||
|
||||
/**
|
||||
* 项目名称:羽声语音
|
||||
* 时间:2025/11/25 17:01
|
||||
* 用途:
|
||||
*/
|
||||
class UserFamilyPresenter (view: UserFamilyConacts.View,context: Context) : BasePresenter<UserFamilyConacts.View>(view,context), UserFamilyConacts.IPre{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.xscm.modulemain.adapter
|
||||
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import androidx.viewpager2.adapter.FragmentStateAdapter
|
||||
import com.xscm.modulemain.activity.user.fragment.JoinedFamilyFragment
|
||||
import com.xscm.modulemain.activity.user.fragment.MyFamilyFragment
|
||||
|
||||
/**
|
||||
* @Author qx
|
||||
* @Time 2025/11/25 17:25
|
||||
* @Description 家族页面ViewPager2适配器
|
||||
*/
|
||||
class FamilyPagerAdapter(activity: FragmentActivity) : FragmentStateAdapter(activity) {
|
||||
|
||||
override fun getItemCount(): Int {
|
||||
return 2
|
||||
}
|
||||
|
||||
override fun createFragment(position: Int): Fragment {
|
||||
return when (position) {
|
||||
0 -> MyFamilyFragment.newInstance()
|
||||
1 -> JoinedFamilyFragment.newInstance()
|
||||
else -> MyFamilyFragment.newInstance()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -59,6 +59,8 @@ public class RoomSettingAdapter extends BaseMultiItemQuickAdapter<RoomSettingBea
|
||||
return com.xscm.moduleutil.R.mipmap.huyu;
|
||||
case RoomSettingBean.QXRoomSettingTypeRoomTypeLianG:
|
||||
return com.xscm.moduleutil.R.mipmap.icon_liang;
|
||||
case RoomSettingBean.QXRoomSettingTypeRoomTypeSIGNONTRACT :
|
||||
return com.xscm.moduleutil.R.mipmap.icon_sign_contract;
|
||||
// 常用工具
|
||||
case RoomSettingBean.QXRoomSettingTypeRoomSubsidy:
|
||||
return com.xscm.moduleutil.R.mipmap.ic_subsidy;
|
||||
|
||||
@@ -21,7 +21,11 @@ import com.xscm.moduleutil.http.BaseObserver
|
||||
import com.xscm.moduleutil.http.RetrofitClient
|
||||
import io.reactivex.disposables.Disposable
|
||||
import retrofit2.Retrofit
|
||||
|
||||
/**
|
||||
* @Author
|
||||
* @Time 2025/11/25 14:33
|
||||
* @Description 表情类型列表
|
||||
*/
|
||||
class EmotionPickerDialog(context: Context) : Dialog(context, com.xscm.moduleutil.R.style.BaseDialogStyleH) {
|
||||
|
||||
private lateinit var binding: DialogEmotionPickerBinding
|
||||
|
||||
@@ -143,6 +143,7 @@ public class RoomSettingFragment extends BaseMvpDialogFragment<RoomSettingPresen
|
||||
dataList.add(new RoomSettingBean("点唱", "jiao_y", null, null, RoomSettingBean.QXRoomSettingTypeRoomTypeJiaoy, read, isSelected, false, false));// 添加的新的房间类型 ,交友 ,是原来的男神女神类型
|
||||
dataList.add(new RoomSettingBean("互娱", "ic_jiaoy", null, null, RoomSettingBean.QXRoomSettingTypeRoomTypeHUYU, read, isSelected, false, false)); //原交友,更改互娱 2025年9月19日11:18:01
|
||||
dataList.add(new RoomSettingBean("练歌房", "ic_liang", null, null, RoomSettingBean.QXRoomSettingTypeRoomTypeLianG, read, isSelected, false, false)); //练歌房,原点歌房,同意的时候,走同意点歌的逻辑
|
||||
dataList.add(new RoomSettingBean("签约", "sing_contract", null, null, RoomSettingBean.QXRoomSettingTypeRoomTypeSIGNONTRACT, read, isSelected, false, false)); //签约房
|
||||
|
||||
|
||||
dataList.add(new RoomSettingBean("常用工具", null, null, null, -1, read, isSelected, false, false));
|
||||
@@ -283,7 +284,10 @@ public class RoomSettingFragment extends BaseMvpDialogFragment<RoomSettingPresen
|
||||
queren("7");
|
||||
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomTypeLianG){
|
||||
queren("-1");
|
||||
}else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomSetting) {
|
||||
}else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomTypeSIGNONTRACT){
|
||||
queren("10");
|
||||
}
|
||||
else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomSetting) {
|
||||
if (roomInfoResp != null) {
|
||||
ARouter.getInstance().build(ARouteConstants.CREATED_ROOM).withSerializable("roomInfoResp", roomInfoResp).navigation();
|
||||
} else {
|
||||
@@ -335,7 +339,22 @@ public class RoomSettingFragment extends BaseMvpDialogFragment<RoomSettingPresen
|
||||
// 创建并显示确认对话框
|
||||
new ConfirmDialog(getActivity(),
|
||||
"提示",
|
||||
"即将修改房间类型为" + (type.equals("1") ? "交友" : (type.equals("2") ? "拍卖" : (type.equals("3") ? "男神" : (type.equals("4") ? "女神" : (type.equals("7") ? "互娱" : (type.equals("9") ? "点唱" :(type.equals("-1") ? "练歌房" : ""))))))),
|
||||
"即将修改房间类型为" +
|
||||
(type.equals("1") ? "交友" :
|
||||
(type.equals("2") ? "拍卖" :
|
||||
(type.equals("3") ? "男神" :
|
||||
(type.equals("4") ? "女神" :
|
||||
(type.equals("7") ? "互娱" :
|
||||
(type.equals("9") ? "点唱" :
|
||||
(type.equals("-1") ? "练歌房" :
|
||||
(type.equals("10") ? "签约房" : "")
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
),
|
||||
"确认",
|
||||
"取消",
|
||||
v -> {
|
||||
@@ -383,7 +402,7 @@ public class RoomSettingFragment extends BaseMvpDialogFragment<RoomSettingPresen
|
||||
if (type == RoomSettingBean.QXRoomSettingTypeRoomTypeSing || type == RoomSettingBean.QXRoomSettingTypeRoomTypeAuction ||
|
||||
type == RoomSettingBean.QXRoomSettingTypeRoomTypeHUYU ||
|
||||
type == RoomSettingBean.QXRoomSettingTypeRoomTypeJiaoy ||
|
||||
type == RoomSettingBean.QXRoomSettingTypeRoomTypeLianG ||
|
||||
type == RoomSettingBean.QXRoomSettingTypeRoomTypeLianG || type== RoomSettingBean.QXRoomSettingTypeRoomTypeSIGNONTRACT ||
|
||||
type == RoomSettingBean.QXRoomSettingTypeRoomClearMessage || type == QXRoomSettingTypeRoomOrderMic || type == RoomSettingBean.QXRoomSettingTypeRoomFloatingScreen
|
||||
|| type == RoomSettingBean.QXRoomSettingTypeRoomBgMusic || type == RoomSettingBean.QXRoomSettingTypeRoomBgImage || type == -1) {
|
||||
|
||||
|
||||
@@ -0,0 +1,101 @@
|
||||
package com.xscm.modulemain.dialog
|
||||
|
||||
import android.app.Dialog
|
||||
import android.content.Context
|
||||
import android.graphics.Point
|
||||
import android.view.Gravity
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import com.blankj.utilcode.util.ScreenUtils
|
||||
import com.xscm.modulemain.databinding.DialogUserNetWorthBinding
|
||||
import com.xscm.moduleutil.color.ThemeableDrawableUtils
|
||||
import com.xscm.moduleutil.utils.ColorManager
|
||||
|
||||
/**
|
||||
* 项目名称:羽声语音
|
||||
* 时间:2025/11/25 14:35
|
||||
* 用途:用户身价详情对话框
|
||||
*/
|
||||
class UserNetWorthDialog(context: Context) :
|
||||
Dialog(context, com.xscm.moduleutil.R.style.BaseDialogStyleH) {
|
||||
|
||||
private lateinit var mBinding: DialogUserNetWorthBinding
|
||||
|
||||
init {
|
||||
mBinding = DialogUserNetWorthBinding.inflate(LayoutInflater.from(context))
|
||||
setContentView(mBinding.root)
|
||||
|
||||
setupWindow()
|
||||
setupViews()
|
||||
initView()
|
||||
}
|
||||
|
||||
private fun setupViews() {
|
||||
}
|
||||
|
||||
private fun setupWindow() {
|
||||
val window = window ?: return
|
||||
window.setGravity(Gravity.CENTER)
|
||||
window.setLayout(
|
||||
(ScreenUtils.getScreenWidth() * 315f / 375).toInt(),
|
||||
ViewGroup.LayoutParams.WRAP_CONTENT
|
||||
)
|
||||
window.setBackgroundDrawableResource(android.R.color.transparent)
|
||||
|
||||
val params = window.attributes
|
||||
params.windowAnimations = com.xscm.moduleutil.R.style.BaseDialogStyleH
|
||||
window.attributes = params
|
||||
|
||||
}
|
||||
|
||||
|
||||
fun initView() {
|
||||
// 设置对话框不能通过点击外部关闭
|
||||
setCancelable(false)
|
||||
setCanceledOnTouchOutside(false)
|
||||
ThemeableDrawableUtils.setThemeableRoundedBackground(
|
||||
mBinding.tvConfirm,
|
||||
ColorManager.getInstance().getPrimaryColorInt(),
|
||||
53
|
||||
)
|
||||
mBinding.tvConfirm.setTextColor(ColorManager.getInstance().getButtonColorInt())
|
||||
// 设置关闭按钮点击事件
|
||||
mBinding.ivClose.setOnClickListener {
|
||||
dismiss()
|
||||
}
|
||||
|
||||
// 设置确认按钮点击事件
|
||||
mBinding.tvConfirm.setOnClickListener {
|
||||
dismiss()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 设置对话框大小,基于375×933的屏幕尺寸,宽高比为312×470
|
||||
*/
|
||||
private fun setDialogSize() {
|
||||
val window = window
|
||||
if (window != null) {
|
||||
val display = window.windowManager.defaultDisplay
|
||||
val size = Point()
|
||||
display.getSize(size)
|
||||
|
||||
// 获取屏幕宽度
|
||||
val screenWidth = size.x
|
||||
|
||||
// 基于375宽度计算312的宽度比例
|
||||
val widthRatio = 312f / 375f
|
||||
|
||||
// 基于933高度计算470的高度比例
|
||||
val heightRatio = 470f / 933f
|
||||
|
||||
// 计算对话框的实际宽度和高度
|
||||
val dialogWidth = (screenWidth * widthRatio).toInt()
|
||||
val dialogHeight = (screenWidth * heightRatio).toInt()
|
||||
|
||||
// 设置对话框宽高
|
||||
window.setLayout(dialogWidth, dialogHeight)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user