1:完成我的家族功能

This commit is contained in:
2025-11-28 09:13:08 +08:00
parent 7821ef304d
commit c216099173
27 changed files with 1069 additions and 171 deletions

View File

@@ -1,27 +0,0 @@
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()
}
}
}

View File

@@ -0,0 +1,116 @@
package com.xscm.modulemain.adapter
import android.content.Context
import android.graphics.Color
import android.view.View
import android.widget.ImageView
import android.widget.LinearLayout
import androidx.core.view.isVisible
import androidx.recyclerview.widget.RecyclerView
import com.chad.library.adapter.base.BaseQuickAdapter
import com.chad.library.adapter.base.BaseViewHolder
import com.google.android.flexbox.FlexboxLayout
import com.xscm.modulemain.Application
import com.xscm.modulemain.R
import com.xscm.moduleutil.bean.MyFamilyBean
import com.xscm.moduleutil.utils.ImageUtils
import com.xscm.moduleutil.utils.MeHeadView
import com.xscm.moduleutil.utils.SpUtil
import com.xscm.moduleutil.widget.ShineTextView
/**
* 项目名称:羽声语音
* 时间2025/11/27 9:23
* 用途:
*/
class MyFamilyAdapter(
val context: Context,var userId: Int, layoutId: Int, data: MutableList<MyFamilyBean.GroupMembersListsBean>?
) :
BaseQuickAdapter<MyFamilyBean.GroupMembersListsBean, BaseViewHolder>(layoutId, data) {
// 定义点击事件回调接口
interface OnItemClickListener {
fun onItemClick(position: Int, item: MyFamilyBean.GroupMembersListsBean)
}
private var onItemClickListener: OnItemClickListener? = null
// 设置点击事件监听器
fun setOnItemClickListener(listener: OnItemClickListener) {
onItemClickListener = listener
}
override fun convert(
helper: BaseViewHolder,
item: MyFamilyBean.GroupMembersListsBean
) {
// 设置整个项的点击事件
helper.itemView.setOnClickListener {
val position = helper.adapterPosition
if (position != RecyclerView.NO_POSITION) {
onItemClickListener?.onItemClick(position, item)
}
}
var flex_entry: FlexboxLayout=helper.getView(R.id.flex_entry)
var meHeadView : MeHeadView= helper.getView(R.id.iv_head)
var tvName : ShineTextView =helper.getView(R.id.tv_name)
meHeadView.setData(item.avatar,item.dress,item.nobility_image)
// helper.setText(R.id.tv_name,item.nickname)
helper.setText(R.id.tv_net_worth,item.market_value)
if (item.is_online==1){
helper.setImageResource(R.id.im_online, com.xscm.moduleutil.R.mipmap.members_online)
}else{
helper.setImageResource(R.id.im_online, com.xscm.moduleutil.R.mipmap.members_offline)
}
helper.setText(R.id.tv_time, "剩余租期"+item.end_day)
helper.setText(R.id.tv_num, "免费续约次数"+ item.free_renewal)
helper.setText(R.id.tv_today, item.today_earnings)
helper.setText(R.id.tv_yesterday, item.yesterday_earnings)
tvName.setText(item.nickname)
if (item.nickname_color.isNotEmpty()){
tvName.startColor = Color.parseColor(item.nickname_color)
tvName.shineColor = Color.parseColor(item.nickname_color)
tvName.endColor = Color.parseColor(item.nickname_color)
tvName.isShine = true
tvName.shineType = 0
}
if (userId == SpUtil.getUserId()) {
if (item.is_show_sign==0){
helper.setGone(R.id.tv_renew,false)
}else{
helper.setGone(R.id.tv_renew,true)
}
}
if (item.icon.isNotEmpty()) {
flex_entry.isVisible=true
for (url in item.icon) {
if (url.contains("http")) {
val imageView1 = ImageView(Application.getInstance())
val params = LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
Application.getInstance().getResources()
.getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_20)
)
params.setMargins(
0,
0,
Application.getInstance().getResources()
.getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_10),
0
) // 右边距
imageView1.setLayoutParams(params)
imageView1.setScaleType(ImageView.ScaleType.FIT_START)
// 使用 Glide 加载图片
ImageUtils.loadHeadCC(url, imageView1, params)
flex_entry.addView(imageView1)
}
}
} else {
flex_entry.isVisible=false
}
}
}

View File

@@ -30,31 +30,34 @@ public class TaskDataAdapter extends BaseQuickAdapter<GiftBoxBean.TaskDataBean.D
@Override
protected void convert(BaseViewHolder helper, GiftBoxBean.TaskDataBean.DailyTasksBean item) {
TextView textView=helper.getView(R.id.task_type);
// if (item.getTaskType().equals("1")){
// textView.setBackground(mContext.getResources().getDrawable(com.qxcm.moduleutil.R.mipmap.go_lock));
// }else if (item.getTaskType().equals("2")){
// textView.setBackground(mContext.getResources().getDrawable(com.qxcm.moduleutil.R.mipmap.go_wc));
// } else if (item.getTaskType().equals("3")) {
// textView.setBackground(mContext.getResources().getDrawable(com.qxcm.moduleutil.R.mipmap.go_sl));
// }else if (item.getTaskType().equals("4")) {
// textView.setBackground(mContext.getResources().getDrawable(com.qxcm.moduleutil.R.mipmap.go_yq));
// }else if (item.getTaskType().equals("5")) {
// textView.setBackground(mContext.getResources().getDrawable(com.qxcm.moduleutil.R.mipmap.go_cz));
// }else if (item.getTaskType().equals("6")) {
// textView.setBackground(mContext.getResources().getDrawable(com.qxcm.moduleutil.R.mipmap.ylq));
// }
TextView textView1= helper.getView(R.id.task_jb);
// textView.setText(item.getTask_type_str().equals("去完成")?"未完成": (item.getTask_type_str().equals("领取金币")?"待领取":item.getTask_type_str()));
if (item.getTask_type_str().equals("去完成")){
if (item.getTask_status()==1){
textView.setText("未完成");
}else if (item.getTask_type_str().equals("领取金币")){
}else if (item.getTask_status()==2){
textView.setText("");
textView.setBackgroundResource(com.xscm.moduleutil.R.mipmap.task_lq);
}else {
}else if (item.getTask_status()==3){
textView.setText("");
textView.setBackgroundResource(com.xscm.moduleutil.R.mipmap.task_ylq);
}
// if (item.getTask_type_str().equals("去完成")){
// textView.setText("未完成");
// }else if (item.getTask_type_str().equals("领取金币") || item.getTask_type_str().equals("领取钻石")){
// textView.setText("");
// textView.setBackgroundResource(com.xscm.moduleutil.R.mipmap.task_lq);
// }else {
// textView.setText("");
// textView.setBackgroundResource(com.xscm.moduleutil.R.mipmap.task_ylq);
// }
if (item.getReward_type()==1){
textView1.setText("金币");
}else if (item.getReward_type()==2){
textView1.setText("钻石");
}
ImageUtils.loadHeadCC(item.getIcon(), helper.getView(R.id.task_pic));
helper.setText(R.id.task_name, item.getTask_name())
.setText(R.id.task_jb_number, "+"+item.getGold_reward());

View File

@@ -48,11 +48,11 @@ public class TaskSectionAdapter extends RecyclerView.Adapter<TaskSectionAdapter.
holder.recyclerView.setLayoutManager(new LinearLayoutManager(holder.itemView.getContext()));
holder.recyclerView.setAdapter(adapter);
adapter.setNewData(section.tasks);
if (position==2){
holder.view.setVisibility(View.VISIBLE);
}else {
holder.view.setVisibility(View.GONE);
}
// if (position==2){
// holder.view.setVisibility(View.VISIBLE);
// }else {
// holder.view.setVisibility(View.GONE);
// }
adapter.setItemClickLitener(new TaskDataAdapter.ItemClickLitener() {
@Override

View File

@@ -0,0 +1,25 @@
package com.xscm.modulemain.adapter
import com.chad.library.adapter.base.BaseQuickAdapter
import com.chad.library.adapter.base.BaseViewHolder
import com.xscm.modulemain.R
import com.xscm.moduleutil.bean.FamilyEarnings
import com.xscm.moduleutil.utils.TimeUtils
/**
* 项目名称:羽声语音
* 时间2025/11/27 17:03
* 用途:收益适配器
*/
class TotalRevenueAdapter : BaseQuickAdapter<FamilyEarnings?, BaseViewHolder>(R.layout.item_total_revenue) {
override fun convert(
helper: BaseViewHolder,
item: FamilyEarnings?
) {
helper.setText(R.id.tv_name, item?.nickname)
helper.setText(R.id.tv_gift_name, item?.gift_name)
helper.setText(R.id.tv_gift_price, item?.gift_price)
helper.setText(R.id.tv_time, "时间"+TimeUtils.getDateToStringNoZ(item?.createtime?:0L))
helper.setText(R.id.tv_jb, item?.earnings)
}
}