1:修改注冊的时候,年龄必选,并且更改默认年龄是18年前

2:修改创建房间,本地进行判断改为服务端进行判断
3:修改歌手认证bug
4:修改和用户相关的出现为空的错误
5:修改挚友在用户主页的位置,不丝滑的滑动问题
6:修改搜索页面展示全部房间,用户展示性别
This commit is contained in:
2025-12-11 21:04:25 +08:00
parent ecdd2fc063
commit ed0eccd0ee
24 changed files with 365 additions and 327 deletions

View File

@@ -58,7 +58,7 @@ public class PlaceholderBean {
private String nickname1; private String nickname1;
private String avatar; private String avatar;
private String total; private String total;
private String rank; private String rank="";
private List<String> icon; private List<String> icon;
private String room_name; private String room_name;
private String room_id; private String room_id;

View File

@@ -1,5 +1,7 @@
package com.xscm.moduleutil.bean; package com.xscm.moduleutil.bean;
import java.util.List;
import lombok.Data; import lombok.Data;
@Data @Data
@@ -9,8 +11,9 @@ public class UserResultResp {
private String user_id; private String user_id;
private String user_code; private String user_code;
private String nickname; private String nickname;
private String head_picture; private String avatar;
private String sex; private int sex;
private List<String> icon;
private String follow; private String follow;
private String fans_count; private String fans_count;
private String online_text; private String online_text;

View File

@@ -25,9 +25,11 @@ import com.xscm.moduleutil.base.CommonAppContext;
import com.xscm.moduleutil.bean.AppPay; import com.xscm.moduleutil.bean.AppPay;
import com.xscm.moduleutil.bean.BindType; import com.xscm.moduleutil.bean.BindType;
import com.xscm.moduleutil.bean.RechargeBean; import com.xscm.moduleutil.bean.RechargeBean;
import com.xscm.moduleutil.color.ThemeableDrawableUtils;
import com.xscm.moduleutil.databinding.FragmentRechargeDialogBinding; import com.xscm.moduleutil.databinding.FragmentRechargeDialogBinding;
import com.xscm.moduleutil.presenter.RechargeDialogContacts; import com.xscm.moduleutil.presenter.RechargeDialogContacts;
import com.xscm.moduleutil.presenter.RechargeDialogPresenter; import com.xscm.moduleutil.presenter.RechargeDialogPresenter;
import com.xscm.moduleutil.utils.ColorManager;
import com.xscm.moduleutil.utils.SpUtil; import com.xscm.moduleutil.utils.SpUtil;
import com.xscm.moduleutil.widget.PaymentUtil; import com.xscm.moduleutil.widget.PaymentUtil;
import com.tencent.mm.opensdk.openapi.IWXAPI; import com.tencent.mm.opensdk.openapi.IWXAPI;
@@ -142,6 +144,9 @@ public class RechargeDialogFragment extends BaseMvpDialogFragment<RechargeDialog
}else{ }else{
mBinding.r4.setVisibility(View.GONE); mBinding.r4.setVisibility(View.GONE);
} }
ThemeableDrawableUtils.setThemeableRoundedBackground(mBinding.tvPayment, ColorManager.getInstance().getPrimaryColorInt(), 53);
mBinding.tvPayment.setTextColor(ColorManager.getInstance().getButtonColorInt());
} }
@Override @Override

View File

@@ -887,8 +887,8 @@ public class RetrofitClient {
sApiServer.roomRanking(type).compose(new DefaultTransformer<>()).subscribe(observer); sApiServer.roomRanking(type).compose(new DefaultTransformer<>()).subscribe(observer);
} else if (ranking_type.equals("1") || ranking_type.equals("2")) { } else if (ranking_type.equals("1") || ranking_type.equals("2")) {
sApiServer.wealthRanking(ranking_type, type).compose(new DefaultTransformer<>()).subscribe(observer); sApiServer.wealthRanking(ranking_type, type).compose(new DefaultTransformer<>()).subscribe(observer);
} else if (ranking_type.equals("3")) { } else if (ranking_type.equals("3")) {//2025年12月11日14:57:44原是传递的type现在修改成0.只是将真爱榜变成心动榜
sApiServer.loveRanking(type).compose(new DefaultTransformer<>()).subscribe(observer); sApiServer.loveRanking("0").compose(new DefaultTransformer<>()).subscribe(observer);
} else if (ranking_type.equals("4")) { } else if (ranking_type.equals("4")) {
sApiServer.guildRanking().compose(new DefaultTransformer<>()).subscribe(observer); sApiServer.guildRanking().compose(new DefaultTransformer<>()).subscribe(observer);
} }

View File

@@ -135,7 +135,7 @@ public class DateSelectDialog extends BaseBottomSheetDialog<MeDialogDateSelectBi
int currentDay = TimeUtils.getDay(); int currentDay = TimeUtils.getDay();
// 如果是最大年份且是最大月份,则日期不能超过当前日期 // 如果是最大年份且是最大月份,则日期不能超过当前日期
if (year == currentYear - 16 && month == currentMonth) { if (year == currentYear - 18 && month == currentMonth) {
dayLimit = currentDay; dayLimit = currentDay;
} }
@@ -158,7 +158,7 @@ public class DateSelectDialog extends BaseBottomSheetDialog<MeDialogDateSelectBi
int monthLimit = 12; int monthLimit = 12;
// 如果是最大年份16年前则月份不能超过当前月份 // 如果是最大年份16年前则月份不能超过当前月份
if (year == currentYear - 16) { if (year == currentYear - 18) {
monthLimit = currentMonth; monthLimit = currentMonth;
} }
@@ -175,7 +175,7 @@ public class DateSelectDialog extends BaseBottomSheetDialog<MeDialogDateSelectBi
private List<DateBean> getYear() { private List<DateBean> getYear() {
int currentYear = TimeUtils.getYear(); int currentYear = TimeUtils.getYear();
int minYear = currentYear - 100; // 最小年份设为100年前 int minYear = currentYear - 100; // 最小年份设为100年前
int maxYear = currentYear - 16; // 最大年份设为16年前 int maxYear = currentYear - 18; // 最大年份设为16年前
List<DateBean> yearList = new ArrayList<>(); List<DateBean> yearList = new ArrayList<>();
for (int i = minYear; i <= maxYear; i++) { for (int i = minYear; i <= maxYear; i++) {

View File

@@ -15,6 +15,8 @@ class CustomViewPager(context: Context, attrs: AttributeSet?) : ViewPager(contex
private var initialX = 0f private var initialX = 0f
private var initialY = 0f private var initialY = 0f
private var isBeingDragged = false
override fun onInterceptTouchEvent(ev: MotionEvent): Boolean { override fun onInterceptTouchEvent(ev: MotionEvent): Boolean {
when (ev.action) { when (ev.action) {
MotionEvent.ACTION_DOWN -> { MotionEvent.ACTION_DOWN -> {
@@ -31,11 +33,34 @@ class CustomViewPager(context: Context, attrs: AttributeSet?) : ViewPager(contex
if (deltaX > deltaY && deltaX > 30) { // 30是阈值可以根据需要调整 if (deltaX > deltaY && deltaX > 30) { // 30是阈值可以根据需要调整
return super.onInterceptTouchEvent(ev) return super.onInterceptTouchEvent(ev)
} }
// 否则,不拦截,让子视图处理
parent.requestDisallowInterceptTouchEvent(true) // 如果是向上滑动,确保父容器不拦截
return false if (deltaY > deltaX && ev.y < initialY) {
parent.requestDisallowInterceptTouchEvent(true)
return false
}
// // 否则,不拦截,让子视图处理
// parent.requestDisallowInterceptTouchEvent(true)
// return false
}
MotionEvent.ACTION_UP, MotionEvent.ACTION_CANCEL -> {
isBeingDragged = false
} }
} }
return super.onInterceptTouchEvent(ev) return super.onInterceptTouchEvent(ev)
} }
override fun onTouchEvent(ev: MotionEvent): Boolean {
when (ev.action) {
MotionEvent.ACTION_DOWN -> {
parent.requestDisallowInterceptTouchEvent(true)
}
MotionEvent.ACTION_MOVE -> {
if (isBeingDragged) {
parent.requestDisallowInterceptTouchEvent(true)
}
}
}
return super.onTouchEvent(ev)
}
} }

View File

@@ -80,6 +80,7 @@ open class Application : CommonAppContext() {
} }
override fun onNext(t: IndexRecommendRoom) { override fun onNext(t: IndexRecommendRoom) {
LogUtils.e(t)
if (!t.room_id.isNullOrEmpty()) { if (!t.room_id.isNullOrEmpty()) {
showInviteDialog(activity, t) showInviteDialog(activity, t)
} }

View File

@@ -17,6 +17,7 @@ import androidx.fragment.app.Fragment;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.bumptech.glide.request.target.CustomTarget; import com.bumptech.glide.request.target.CustomTarget;
import com.bumptech.glide.request.transition.Transition; import com.bumptech.glide.request.transition.Transition;
import com.hjq.toast.ToastUtils;
import com.luck.picture.lib.basic.PictureSelector; import com.luck.picture.lib.basic.PictureSelector;
import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.engine.CropFileEngine; import com.luck.picture.lib.engine.CropFileEngine;
@@ -139,6 +140,11 @@ public class ImproveInfoActivity extends BaseMvpActivity<ImproveInfoPresenter, A
// ToastUtils.showShort("请选择性别"); // ToastUtils.showShort("请选择性别");
return; return;
} }
if(birthdy==null||TextUtils.isEmpty(birthdy)){
ToastUtils.show("请选择生日");
return;
}
if (!inviteCode.isEmpty() || inviteCode != null) { if (!inviteCode.isEmpty() || inviteCode != null) {
// map.put("user_no", inviteCode); // map.put("user_no", inviteCode);
init_code = inviteCode; init_code = inviteCode;

View File

@@ -226,11 +226,11 @@ public class SearchActivity extends BaseMvpActivity<SearchPresenter, ActivitySea
} else { } else {
mBinding.recycleViewRoom.setVisibility(View.VISIBLE); mBinding.recycleViewRoom.setVisibility(View.VISIBLE);
mBinding.rlRoom.setVisibility(View.VISIBLE); mBinding.rlRoom.setVisibility(View.VISIBLE);
if (data.getRooms().size() > 2) { // if (data.getRooms().size() > 2) {
mSearchRoomResultAdapter.setNewData(data.getRooms().subList(0, 2)); // mSearchRoomResultAdapter.setNewData(data.getRooms().subList(0, 2));
} else { // } else {
mSearchRoomResultAdapter.setNewData(data.getRooms()); mSearchRoomResultAdapter.setNewData(data.getRooms());
} // }
mBinding.tvRoomCount.setText("全部 " + data.getRooms().size()); mBinding.tvRoomCount.setText("全部 " + data.getRooms().size());
} }
if (data.getUsers() != null && data.getUsers().size() != 0) { if (data.getUsers() != null && data.getUsers().size() != 0) {

View File

@@ -72,6 +72,7 @@ public class HotListFragment extends BaseMvpFragment<HotListPresenter, FragmentH
@Override @Override
public void onResume() { public void onResume() {
super.onResume(); super.onResume();
page=1;
MvpPre.getRoomList(2, "1", "20", "1", label_id); MvpPre.getRoomList(2, "1", "20", "1", label_id);
} }

View File

@@ -271,7 +271,9 @@ public class MyRoomActivity extends BaseMvpActivity<MyRoomPresenter, RoomActivit
return; return;
} }
MvpPre.check_create_room(); // MvpPre.check_create_room();
startActivity(new Intent(MyRoomActivity.this, CreatedRoomActivity.class));
finish();
} }
}); });
} }

View File

@@ -124,41 +124,6 @@ public class SingerVerificationActivity extends BaseMvpActivity<SingerVerificati
mBinding.progressArc.setProgress(0); mBinding.progressArc.setProgress(0);
mBinding.progressArc.setMax(100); // 设置最大值 mBinding.progressArc.setMax(100); // 设置最大值
mBinding.progressArc.setIndeterminate(false); mBinding.progressArc.setIndeterminate(false);
// 设置长按录音逻辑
// mBinding.recordButton.setOnTouchListener(new View.OnTouchListener() {
// @Override
// public boolean onTouch(View v, MotionEvent event) {
// switch (event.getAction()) {
// case MotionEvent.ACTION_DOWN:
// if (!isRecording && !isPlaying) {
// // 长按时改变按钮图案为类似试听后的图案
// mBinding.recordButton.setImageResource(R.mipmap.but_tz);
//
// // 如果之前已经录制过内容,则继续录制
// if (hasRecordedBefore && recordingFile != null && recordingFile.exists()) {
// isAppendRecording = true;
// startRecording();
// } else {
// // 首次录音或重录后
// isAppendRecording = false;
// startRecording();
// }
// }
// return true;
// case MotionEvent.ACTION_UP:
// if (isRecording) {
// stopRecording();
// // 手指离开后恢复默认图案
// mBinding.recordButton.setImageResource(R.mipmap.but_ly);
// }
// return true;
// default:
// return false;
// }
// }
// });
mBinding.recordButton.setOnTouchListener(new View.OnTouchListener() { mBinding.recordButton.setOnTouchListener(new View.OnTouchListener() {
private Runnable longPressRunnable; private Runnable longPressRunnable;
@@ -243,10 +208,10 @@ public class SingerVerificationActivity extends BaseMvpActivity<SingerVerificati
mBinding.playButton.setCompoundDrawablesWithIntrinsicBounds(0, R.mipmap.but_st, 0, 0); mBinding.playButton.setCompoundDrawablesWithIntrinsicBounds(0, R.mipmap.but_st, 0, 0);
} else { } else {
// 检查录音文件是否存在 // 检查录音文件是否存在
if (recordingFile == null || !recordingFile.exists()) { // if (recordingFile == null || !recordingFile.exists()) {
Toast.makeText(SingerVerificationActivity.this, "没有录制的文件", Toast.LENGTH_SHORT).show(); // Toast.makeText(SingerVerificationActivity.this, "没有录制的文件", Toast.LENGTH_SHORT).show();
return; // return;
} // }
// 检查录音时长 // 检查录音时长
if (recordingDuration <= 0) { if (recordingDuration <= 0) {
@@ -353,10 +318,9 @@ public class SingerVerificationActivity extends BaseMvpActivity<SingerVerificati
mediaRecorder.prepare(); mediaRecorder.prepare();
mediaRecorder.start(); mediaRecorder.start();
// 如果是第一次录音,初始化录音文件 // 修复不再根据是否追加录音来设置recordingFile
if (!isAppendRecording) { // recordingFile将在停止录音时通过mergeAudioFiles()方法设置
recordingFile = segmentFile; // 这样可以确保每次录音都能正确合并
}
} catch (IOException e) { } catch (IOException e) {
LogUtils.e("SingerVerification", "录音失败: " + e.getMessage()); LogUtils.e("SingerVerification", "录音失败: " + e.getMessage());
// 从列表中移除失败的文件 // 从列表中移除失败的文件
@@ -442,16 +406,28 @@ public class SingerVerificationActivity extends BaseMvpActivity<SingerVerificati
timer.cancel(); timer.cancel();
timer = null; timer = null;
} }
// 计算当前录音片段的时长
long currentSegmentDuration = System.currentTimeMillis() - recordingStartTime;
// 检查当前录音片段是否太短小于1秒
if (currentSegmentDuration < 1000 && recordingSegments.size() > 1) {
// 如果当前录音片段太短且不是第一个片段,则移除它
File lastSegment = recordingSegments.get(recordingSegments.size() - 1);
if (lastSegment.exists()) {
lastSegment.delete();
}
recordingSegments.remove(recordingSegments.size() - 1);
LogUtils.d("SingerVerification", "移除过短的录音片段: " + lastSegment.getAbsolutePath());
}
// 处理录音片段 // 处理录音片段
if (recordingSegments.size() > 1) { // 修复:每次停止录音时都合并所有片段,确保录音连续性
// 如果有多个录音片段,合并它们 if (recordingSegments.size() >= 1) {
// 始终合并所有录音片段,确保连续性
mergeAudioFiles(); mergeAudioFiles();
// 更新录音时长为所有片段的总时长 // 更新录音时长为所有片段的总时长
updateRecordingDuration(); updateRecordingDuration();
} else if (recordingSegments.size() == 1) {
// 只有一个录音片段,直接使用
recordingFile = recordingSegments.get(0);
} }
// 更新状态 // 更新状态
@@ -749,11 +725,9 @@ public class SingerVerificationActivity extends BaseMvpActivity<SingerVerificati
handleMergeError(e); handleMergeError(e);
} finally { } finally {
cleanupResources(muxer, buffer); cleanupResources(muxer, buffer);
// 修复:延迟删除原始音频片段,确保合并文件已经完全写入且被使用 // 修复:不删除录音片段,以便后续继续追加录音
// 延迟删除,给用户足够时间试听 // 只在用户点击"重新录音"时才删除所有片段
new Handler().postDelayed(() -> { // cleanupSegments(processedSegments);
cleanupSegments(processedSegments);
}, 30000); // 延迟30秒删除确保用户有足够时间试听
} }
} }

View File

@@ -127,7 +127,7 @@ public class UnderageActivity extends BaseMvpActivity<UnderagePresenter, Activit
// 密码正确,关闭页面 // 密码正确,关闭页面
// ToastUtils.showShort("密码验证成功"); // ToastUtils.showShort("密码验证成功");
ARouter.getInstance().build(ARouteConstants.ME).navigation(); // ARouter.getInstance().build(ARouteConstants.ME).navigation();
ActivityUtils.finishActivity(WebViewActivity.class); ActivityUtils.finishActivity(WebViewActivity.class);
finish(); finish();
} else { } else {

View File

@@ -182,7 +182,7 @@ public class UserHomepageFragment extends BaseMvpFragment<UserHomepagePresenter,
if (!userInfo.getIcon().isEmpty()) { if (!userInfo.getIcon().isEmpty()) {
mBinding.headerInfo.flexEntry.setVisibility(VISIBLE); mBinding.headerInfo.flexEntry.setVisibility(VISIBLE);
for (String url : userInfo.getIcon()) { for (String url : userInfo.getIcon()) {
if (url.contains("http")) { if (url != null && url.contains("http")) {
ImageView imageView1 = new ImageView(Application.getInstance()); ImageView imageView1 = new ImageView(Application.getInstance());
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT,

View File

@@ -357,7 +357,7 @@ public class VocalRangeFragment extends BaseMvpFragment<MePresenter, FragmentVoc
if (images != null && !images.isEmpty()) { if (images != null && !images.isEmpty()) {
for (String url : images) { for (String url : images) {
if (url.contains("http")) { if (url!=null && url.contains("http")) {
ImageView imageView = new ImageView(getContext()); ImageView imageView = new ImageView(getContext());
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_57), getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_57),

View File

@@ -227,7 +227,7 @@ public class EaseChatAdapter extends BaseMultiItemQuickAdapter<EMMessageInfo, Ba
tvName.setEndColor(Color.parseColor(emMessage.getText().getFromUserInfo().getNickname_color())); tvName.setEndColor(Color.parseColor(emMessage.getText().getFromUserInfo().getNickname_color()));
tvName.setShine(true); tvName.setShine(true);
tvName.setShineType(0); tvName.setShineType(0);
}else { } else {
tvName.setStartColor(Color.parseColor("#FFFFFFFF")); tvName.setStartColor(Color.parseColor("#FFFFFFFF"));
tvName.setShineColor(Color.parseColor("#FFFFFFFF")); tvName.setShineColor(Color.parseColor("#FFFFFFFF"));
tvName.setEndColor(Color.parseColor("#FFFFFFFF")); tvName.setEndColor(Color.parseColor("#FFFFFFFF"));
@@ -245,7 +245,7 @@ public class EaseChatAdapter extends BaseMultiItemQuickAdapter<EMMessageInfo, Ba
LinearLayout ll_images = helper.getView(com.xscm.moduleutil.R.id.line); LinearLayout ll_images = helper.getView(com.xscm.moduleutil.R.id.line);
ll_images.removeAllViews(); ll_images.removeAllViews();
for (String url : images) { for (String url : images) {
if (url.contains("http")) { if (url != null && url.contains("http")) {
ImageView imageView = new ImageView(helper.itemView.getContext()); ImageView imageView = new ImageView(helper.itemView.getContext());
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
helper.itemView.getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_57), helper.itemView.getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_57),
@@ -264,7 +264,7 @@ public class EaseChatAdapter extends BaseMultiItemQuickAdapter<EMMessageInfo, Ba
String bubbleId = emMessage.getRoomId() + "_" + helper.getLayoutPosition() + "_bubble"; String bubbleId = emMessage.getRoomId() + "_" + helper.getLayoutPosition() + "_bubble";
View bubbleView = helper.getView(com.xscm.moduleutil.R.id.bubble); View bubbleView = helper.getView(com.xscm.moduleutil.R.id.bubble);
bubbleView.setTag(bubbleId); bubbleView.setTag(bubbleId);
if (emMessage.getText().getFromUserInfo().getChat_bubble() != null && !emMessage.getText().getFromUserInfo().getChat_bubble().isEmpty()) { if (emMessage.getText().getFromUserInfo().getChat_bubble() != null && !emMessage.getText().getFromUserInfo().getChat_bubble().isEmpty()) {
// 使用 Glide 加载图片并设置名称 // 使用 Glide 加载图片并设置名称
String imageUrl = emMessage.getText().getFromUserInfo().getChat_bubble(); String imageUrl = emMessage.getText().getFromUserInfo().getChat_bubble();

View File

@@ -51,10 +51,10 @@ public class ExpandColumnAdapter extends BaseQuickAdapter<ExpandColumnBean, Base
@Override @Override
protected void convert(BaseViewHolder helper, ExpandColumnBean item) { protected void convert(BaseViewHolder helper, ExpandColumnBean item) {
helper.addOnClickListener(R.id.dy_head_image); helper.addOnClickListener(R.id.dy_head_image);
ImageView iv_sex=helper.getView(R.id.iv_user_sex); ImageView iv_sex = helper.getView(R.id.iv_user_sex);
//先让单图,多图,音频的布局显示 //先让单图,多图,音频的布局显示
helper.getView(R.id.dy_image_recyc).setVisibility(View.VISIBLE); helper.getView(R.id.dy_image_recyc).setVisibility(View.VISIBLE);
helper.setText(R.id.tv_agree,TimeUtils.getAgeByBirthDay(item.getBirthday())+""); helper.setText(R.id.tv_agree, TimeUtils.getAgeByBirthDay(item.getBirthday()) + "");
//昵称 //昵称
helper.setText(com.xscm.moduleutil.R.id.dy_name_text, item.getNickname()); helper.setText(com.xscm.moduleutil.R.id.dy_name_text, item.getNickname());
ShineTextView tvName = helper.getView(com.xscm.moduleutil.R.id.dy_name_text); ShineTextView tvName = helper.getView(com.xscm.moduleutil.R.id.dy_name_text);
@@ -64,7 +64,7 @@ public class ExpandColumnAdapter extends BaseQuickAdapter<ExpandColumnBean, Base
tvName.setEndColor(Color.parseColor(item.getNickname_color())); tvName.setEndColor(Color.parseColor(item.getNickname_color()));
tvName.setShine(true); tvName.setShine(true);
tvName.setShineType(0); tvName.setShineType(0);
}else { } else {
tvName.setStartColor(Color.BLACK); tvName.setStartColor(Color.BLACK);
tvName.setShineColor(Color.BLACK); tvName.setShineColor(Color.BLACK);
tvName.setEndColor(Color.BLACK); tvName.setEndColor(Color.BLACK);
@@ -73,9 +73,9 @@ public class ExpandColumnAdapter extends BaseQuickAdapter<ExpandColumnBean, Base
} }
// helper.setTextColor(R.id.dy_name_text,(item.getNickname_color()!=null && !item.getNickname_color().isEmpty())? Color.parseColor(item.getNickname_color()):Color.parseColor("#333333")); // helper.setTextColor(R.id.dy_name_text,(item.getNickname_color()!=null && !item.getNickname_color().isEmpty())? Color.parseColor(item.getNickname_color()):Color.parseColor("#333333"));
helper.setText(R.id.tv_address, item.getLoginip()); helper.setText(R.id.tv_address, item.getLoginip());
if (item.getUser_id().equals(SpUtil.getUserId()+"")){ if (item.getUser_id().equals(SpUtil.getUserId() + "")) {
helper.setVisible(R.id.gensui, false); helper.setVisible(R.id.gensui, false);
}else { } else {
helper.setVisible(R.id.gensui, true); helper.setVisible(R.id.gensui, true);
} }
@@ -119,7 +119,7 @@ public class ExpandColumnAdapter extends BaseQuickAdapter<ExpandColumnBean, Base
recyclerView.setOnItemClickListener((parent, view, position, id) -> { recyclerView.setOnItemClickListener((parent, view, position, id) -> {
FullScreenUtil.showFullScreenDialog(mContext, position, oneImageYuanJiaoAdapter.getList_adapter()); FullScreenUtil.showFullScreenDialog(mContext, position, oneImageYuanJiaoAdapter.getList_adapter());
}); });
}else { } else {
helper.getView(R.id.dy_image_recyc).setVisibility(View.GONE); helper.getView(R.id.dy_image_recyc).setVisibility(View.GONE);
} }
@@ -129,7 +129,7 @@ public class ExpandColumnAdapter extends BaseQuickAdapter<ExpandColumnBean, Base
List<String> images = item.getIcon(); // 获取图片列表 List<String> images = item.getIcon(); // 获取图片列表
for (String url : images) { for (String url : images) {
if (url.contains("http")) { if (url != null && url.contains("http")) {
ImageView imageView = new ImageView(mContext); ImageView imageView = new ImageView(mContext);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(

View File

@@ -224,12 +224,10 @@ public class PlaceholderFragment extends BaseMvpFragment<PlaceholderPresenter,
ImageUtils.loadHeadCC(item.getUser_avatar(), helper.getView(R.id.iv_three_cp1_head)); ImageUtils.loadHeadCC(item.getUser_avatar(), helper.getView(R.id.iv_three_cp1_head));
ImageUtils.loadHeadCC(item.getUser_avatar1(), helper.getView(R.id.iv_three_cp2_head)); ImageUtils.loadHeadCC(item.getUser_avatar1(), helper.getView(R.id.iv_three_cp2_head));
// helper.setText(R.id.tv_charm, item.getNumber());
helper.setText(R.id.tv_name, item.getNickname()); helper.setText(R.id.tv_name, item.getNickname());
helper.setVisible( R.id.tv_cp_name,true).setText(R.id.tv_cp_name, item.getNickname1()); helper.setVisible( R.id.tv_cp_name,true).setText(R.id.tv_cp_name, item.getNickname1());
helper.setText(R.id.tv_no, String.valueOf(item.getRank())); helper.setText(R.id.tv_no, String.valueOf(item.getRank()));
// ((BeautifulNameView) helper.getView(R.id.bnv_rank_list)).setTextColor(!TextUtils.isEmpty(item.getId_color()) ? Color.parseColor(item.getId_color()) : getResources().getColor(R.color.color_FF333333)); helper.setText(R.id.tv_charm, "Lv "+item.getTotal());
// ((BeautifulNameView) helper.getView(R.id.bnv_rank_list)).setText(item.getNickname2());
} else if (index == 1 || index == 2) { } else if (index == 1 || index == 2) {
rl.setVisibility(View.GONE); rl.setVisibility(View.GONE);
helper.getView(R.id.riv_avatar).setVisibility(View.VISIBLE); helper.getView(R.id.riv_avatar).setVisibility(View.VISIBLE);

View File

@@ -102,9 +102,9 @@ public class RoomOnlineAdapter extends BaseMultiItemQuickAdapter<RoomOnlineBean,
// }else if (item.getType() == 1 && item.getType_pit() == 0){ // }else if (item.getType() == 1 && item.getType_pit() == 0){
// textView.setVisibility(GONE); // textView.setVisibility(GONE);
// } // }
if(item.getType() == 1) { if (item.getType() == 1) {
textView.setText(item.getPit_number() != 0 ? (item.getPit_number() == 9 ? "主持" : (item.getPit_number() == 10 ? "嘉宾" : item.getPit_number() + "号麦")) : ""); textView.setText(item.getPit_number() != 0 ? (item.getPit_number() == 9 ? "主持" : (item.getPit_number() == 10 ? "嘉宾" : item.getPit_number() + "号麦")) : "");
}else { } else {
textView.setText("抱麦"); textView.setText("抱麦");
} }
@@ -116,7 +116,7 @@ public class RoomOnlineAdapter extends BaseMultiItemQuickAdapter<RoomOnlineBean,
List<String> images = item.getIcon(); // 获取图片列表 List<String> images = item.getIcon(); // 获取图片列表
for (String url : images) { for (String url : images) {
if (url.contains("http")) { if (url != null && url.contains("http")) {
ImageView imageView1 = new ImageView(helper.itemView.getContext()); ImageView imageView1 = new ImageView(helper.itemView.getContext());
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT,
@@ -128,7 +128,7 @@ public class RoomOnlineAdapter extends BaseMultiItemQuickAdapter<RoomOnlineBean,
imageView1.setScaleType(ImageView.ScaleType.FIT_START); imageView1.setScaleType(ImageView.ScaleType.FIT_START);
// 使用 Glide 加载图片 // 使用 Glide 加载图片
ImageUtils.loadHeadCC(url, imageView1,params); ImageUtils.loadHeadCC(url, imageView1, params);
llContainer.addView(imageView1); llContainer.addView(imageView1);
} }
} }

View File

@@ -38,7 +38,7 @@ public class SearchUserResultAdapter extends BaseQuickAdapter<UserResultResp, Ba
helper.setText(R.id.dy_name_text, KeyWordUtil.matcherSearchTitle(Color.parseColor("#FFBC00"), item.getNickname(), keyWord)); helper.setText(R.id.dy_name_text, KeyWordUtil.matcherSearchTitle(Color.parseColor("#FFBC00"), item.getNickname(), keyWord));
helper.setText(R.id.tv_id, "ID:" + item.getUser_code()); helper.setText(R.id.tv_id, "ID:" + item.getUser_code());
MeHeadView headView = helper.getView(R.id.dy_head_image); MeHeadView headView = helper.getView(R.id.dy_head_image);
headView.setData(item.getHead_picture(), "", ""); headView.setSex(item.getSex(),item.getAvatar(), "");
// if (item.getUser_id().equals(SpUtil.getUserId() + "")) { // if (item.getUser_id().equals(SpUtil.getUserId() + "")) {
// helper.setVisible(R.id.gensui, false); // helper.setVisible(R.id.gensui, false);
// } else { // } else {

View File

@@ -33,13 +33,14 @@ import com.xscm.moduleutil.utils.ImageUtils;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
import java.util.List; import java.util.List;
/** /**
*@author qx * @author qx
*@data 2025/6/21 * @data 2025/6/21
*@description: 设置主持人 * @description: 设置主持人
*/ */
public class RoomHostAddFragment extends BaseMvpDialogFragment<RoomHostPresenter, RoomHostAddFragmentBinding> implements RoomHostContacts.View { public class RoomHostAddFragment extends BaseMvpDialogFragment<RoomHostPresenter, RoomHostAddFragmentBinding> implements RoomHostContacts.View {
private String mRoomId ; private String mRoomId;
private BaseQuickAdapter<RoomSearchResp, BaseViewHolder> mAdapter; private BaseQuickAdapter<RoomSearchResp, BaseViewHolder> mAdapter;
// TODO: Customize parameter initialization // TODO: Customize parameter initialization
@@ -51,11 +52,13 @@ public class RoomHostAddFragment extends BaseMvpDialogFragment<RoomHostPresenter
fragment.setArguments(args); fragment.setArguments(args);
return fragment; return fragment;
} }
@Override @Override
public void initArgs(Bundle arguments) { public void initArgs(Bundle arguments) {
super.initArgs(arguments); super.initArgs(arguments);
mRoomId = arguments.getString("roomId"); mRoomId = arguments.getString("roomId");
} }
// TODO: 2025/3/7 固定dialog显示的位置和大小 // TODO: 2025/3/7 固定dialog显示的位置和大小
@Override @Override
protected void initDialogStyle(Window window) { protected void initDialogStyle(Window window) {
@@ -101,7 +104,7 @@ public class RoomHostAddFragment extends BaseMvpDialogFragment<RoomHostPresenter
public void run() { public void run() {
String keyWord = editable.toString(); String keyWord = editable.toString();
if (!StringUtils.isEmpty(keyWord)) { if (!StringUtils.isEmpty(keyWord)) {
MvpPre.setUserHostList(keyWord,"1"); MvpPre.setUserHostList(keyWord, "1");
} }
} }
}, DELAY); }, DELAY);
@@ -116,7 +119,7 @@ public class RoomHostAddFragment extends BaseMvpDialogFragment<RoomHostPresenter
@Override @Override
protected void convert(BaseViewHolder helper, RoomSearchResp item) { protected void convert(BaseViewHolder helper, RoomSearchResp item) {
helper.setText(R.id.tv_name, item.getName()); helper.setText(R.id.tv_name, item.getName());
ImageUtils.loadHeadCC(item.getPicture(), helper.getView(R.id.image)); ImageUtils.loadHeadCC(item.getPicture(), helper.getView(R.id.image));
helper.setText(R.id.tv_id, item.getCode()); helper.setText(R.id.tv_id, item.getCode());
// if (item.getSex().equals("1")){ // if (item.getSex().equals("1")){
// helper.setBackgroundRes(R.id.tv_gender, com.qxcm.moduleutil.R.mipmap.boyb); // helper.setBackgroundRes(R.id.tv_gender, com.qxcm.moduleutil.R.mipmap.boyb);
@@ -127,9 +130,9 @@ public class RoomHostAddFragment extends BaseMvpDialogFragment<RoomHostPresenter
// ImageUtils.loadImageView(item.getLevel_icon(), helper.getView(R.id.iv_rd)); // ImageUtils.loadImageView(item.getLevel_icon(), helper.getView(R.id.iv_rd));
LinearLayout llContainer = helper.getView(R.id.ll); LinearLayout llContainer = helper.getView(R.id.ll);
llContainer.removeAllViews(); // 清空旧的 ImageView llContainer.removeAllViews(); // 清空旧的 ImageView
if (!item.getIcon().isEmpty()||item.getIcon().size()>0){ if (!item.getIcon().isEmpty() || item.getIcon().size() > 0) {
for (String url : item.getIcon()) { for (String url : item.getIcon()) {
if (url.contains("http")) { if (url != null && url.contains("http")) {
ImageView imageView = new ImageView(getContext()); ImageView imageView = new ImageView(getContext());
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_57), getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_57),
@@ -154,7 +157,6 @@ public class RoomHostAddFragment extends BaseMvpDialogFragment<RoomHostPresenter
layout.setShadowOffsetX(1); layout.setShadowOffsetX(1);
helper.getView(R.id.iv_add).setOnClickListener(new View.OnClickListener() { helper.getView(R.id.iv_add).setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
@@ -185,7 +187,7 @@ public class RoomHostAddFragment extends BaseMvpDialogFragment<RoomHostPresenter
@Override @Override
public void getUserHostList(List<RoomSearchResp> list) { public void getUserHostList(List<RoomSearchResp> list) {
mAdapter.setNewData(list); mAdapter.setNewData(list);
} }
@Override @Override
@@ -232,7 +234,4 @@ public class RoomHostAddFragment extends BaseMvpDialogFragment<RoomHostPresenter
} }
} }

View File

@@ -169,7 +169,8 @@
android:drawablePadding="@dimen/dp_5" android:drawablePadding="@dimen/dp_5"
android:text="全部 7" android:text="全部 7"
android:textColor="#ffa6a6a6" android:textColor="#ffa6a6a6"
android:textSize="@dimen/sp_12" /> android:textSize="@dimen/sp_12"
android:visibility="gone"/>
</RelativeLayout> </RelativeLayout>
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView

View File

@@ -8,256 +8,279 @@
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
> android:orientation="vertical">
<ImageView
android:id="@+id/im_intimate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="fitXY"
android:src="@mipmap/icon_initimate_ts"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintTop_toBottomOf="@+id/smart_refresh_layout"/>
<com.scwang.smartrefresh.layout.SmartRefreshLayout <com.scwang.smartrefresh.layout.SmartRefreshLayout
android:id="@+id/smart_refresh_layout" android:id="@+id/smart_refresh_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_10"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/im_intimate"
app:srlEnableLoadMore="true" app:srlEnableLoadMore="true"
app:srlEnableRefresh="true"> app:srlEnableRefresh="true">
<androidx.core.widget.NestedScrollView <androidx.core.widget.NestedScrollView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:fillViewport="true"> android:fillViewport="true">
<LinearLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent">
android:orientation="vertical">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cc" <ImageView
android:id="@+id/im_intimate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="fitXY"
android:src="@mipmap/icon_initimate_ts"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/smart_refresh_layout"
app:layout_constraintTop_toTopOf="parent" />
<!-- <androidx.core.widget.NestedScrollView-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="0dp"-->
<!-- android:layout_marginHorizontal="@dimen/dp_10"-->
<!-- android:fillViewport="true"-->
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
<!-- app:layout_constraintEnd_toEndOf="parent"-->
<!-- app:layout_constraintStart_toStartOf="parent"-->
<!-- app:layout_constraintTop_toBottomOf="@+id/im_intimate">-->
<LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
> android:layout_marginHorizontal="@dimen/dp_10"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/im_intimate">
<TextView <LinearLayout
android:id="@+id/tv_heartbeat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/dp_54"
android:background="@mipmap/icon_heartbeat"
android:fontFamily="@font/semibold"
android:gravity="center"
android:text="心动"
android:textColor="#fff"
android:textSize="@dimen/sp_16"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<RelativeLayout
android:id="@+id/ll_cp"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:layout_marginHorizontal="@dimen/dp_10" android:orientation="vertical">
android:layout_marginTop="@dimen/dp_15"
android:background="@mipmap/icon_dialog_u_cp_bg"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_heartbeat"
tools:visibility="visible">
<TextView <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="wrap_content" android:id="@+id/cc"
android:layout_height="wrap_content" android:layout_width="match_parent"
android:background="@mipmap/icon_dialog_u_cp_left_top" android:layout_height="wrap_content">
android:gravity="center"
android:text="心动"
android:textColor="@color/white" />
<LinearLayout
android:id="@+id/ll_left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toStartOf="@+id/ll_middle"
android:orientation="vertical">
<com.xscm.moduleutil.widget.CircularImage
android:id="@+id/user_nav1"
android:layout_width="@dimen/dp_50"
android:layout_height="@dimen/dp_50"
android:background="@drawable/shape_circle"
android:padding="@dimen/dp_2"
android:src="@mipmap/default_avatar"
app:riv_oval="true" />
<TextView <TextView
android:id="@+id/tv_nickname1" android:id="@+id/tv_heartbeat"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@+id/user_nav1" android:layout_marginBottom="@dimen/dp_54"
android:layout_alignStart="@+id/user_nav1" android:background="@mipmap/icon_heartbeat"
android:layout_alignEnd="@+id/user_nav1" android:fontFamily="@font/semibold"
android:layout_gravity="center"
android:ellipsize="end"
android:lines="1"
android:maxWidth="@dimen/dp_70"
android:textColor="#FF624E79"
android:textSize="@dimen/sp_10"
tools:text="用户昵称" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_middle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_marginHorizontal="@dimen/dp_20"
android:orientation="vertical">
<TextView
android:id="@+id/tv_cp_lv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@mipmap/icon_dialog_u_cp_lv"
android:gravity="center" android:gravity="center"
android:padding="@dimen/dp_5" android:text="心动"
android:textColor="#FFFFEAB9" android:textColor="#fff"
android:textSize="@dimen/sp_10" android:textSize="@dimen/sp_16"
tools:text="LV8 情缘一定" /> app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView <RelativeLayout
android:layout_width="wrap_content" android:id="@+id/ll_cp"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:src="@mipmap/icon_dialog_u_cp_" /> android:layout_marginHorizontal="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_15"
android:background="@mipmap/icon_dialog_u_cp_bg"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_heartbeat"
tools:visibility="visible">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@mipmap/icon_dialog_u_cp_left_top"
android:gravity="center"
android:text="心动"
android:textColor="@color/white" />
<LinearLayout
android:id="@+id/ll_left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toStartOf="@+id/ll_middle"
android:orientation="vertical">
<com.xscm.moduleutil.widget.CircularImage
android:id="@+id/user_nav1"
android:layout_width="@dimen/dp_50"
android:layout_height="@dimen/dp_50"
android:background="@drawable/shape_circle"
android:padding="@dimen/dp_2"
android:src="@mipmap/default_avatar"
app:riv_oval="true" />
<TextView
android:id="@+id/tv_nickname1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/user_nav1"
android:layout_alignStart="@+id/user_nav1"
android:layout_alignEnd="@+id/user_nav1"
android:layout_gravity="center"
android:ellipsize="end"
android:lines="1"
android:maxWidth="@dimen/dp_70"
android:textColor="#FF624E79"
android:textSize="@dimen/sp_10"
tools:text="用户昵称" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_middle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_marginHorizontal="@dimen/dp_20"
android:orientation="vertical">
<TextView
android:id="@+id/tv_cp_lv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@mipmap/icon_dialog_u_cp_lv"
android:gravity="center"
android:padding="@dimen/dp_5"
android:textColor="#FFFFEAB9"
android:textSize="@dimen/sp_10"
tools:text="LV8 情缘一定" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/icon_dialog_u_cp_" />
<TextView
android:id="@+id/tv_cp_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:textColor="#FFFF0088"
android:textSize="@dimen/sp_14"
tools:text="100.35w" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toEndOf="@+id/ll_middle"
android:orientation="vertical">
<com.xscm.moduleutil.widget.CircularImage
android:id="@+id/user_nav2"
android:layout_width="@dimen/dp_50"
android:layout_height="@dimen/dp_50"
android:background="@drawable/shape_circle"
android:padding="@dimen/dp_2"
android:src="@mipmap/default_avatar"
app:riv_oval="true" />
<TextView
android:id="@+id/tv_nickname2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:ellipsize="end"
android:lines="1"
android:maxWidth="@dimen/dp_70"
android:text="用户昵称"
android:textColor="#FF624E79"
android:textSize="@dimen/sp_10" />
</LinearLayout>
<RelativeLayout
android:id="@+id/rl_reqit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/dp_50"
android:background="@mipmap/regit_t"
android:visibility="gone">
<TextView
android:id="@+id/tv_relation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/dp_40"
android:gravity="center"
android:textColor="@color/white"
android:textSize="@dimen/sp_12"
android:textStyle="bold"
tools:text="开始使用" />
</RelativeLayout>
<TextView
android:id="@+id/tv_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:background="@drawable/bg_r53_33333"
android:gravity="center"
android:paddingStart="5dp"
android:paddingEnd="5dp"
android:textColor="@color/white"
android:textSize="@dimen/sp_9"
android:visibility="gone"
tools:text="5天" />
</RelativeLayout>
<TextView <TextView
android:id="@+id/tv_cp_num" android:id="@+id/tv_heartbeat_ts"
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_marginHorizontal="@dimen/dp_24"
android:textColor="#FFFF0088" android:layout_marginTop="@dimen/dp_16"
android:textSize="@dimen/sp_14" android:background="@mipmap/bj_heartbeat_ts"
tools:text="100.35w" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toEndOf="@+id/ll_middle"
android:orientation="vertical">
<com.xscm.moduleutil.widget.CircularImage
android:id="@+id/user_nav2"
android:layout_width="@dimen/dp_50"
android:layout_height="@dimen/dp_50"
android:background="@drawable/shape_circle"
android:padding="@dimen/dp_2"
android:src="@mipmap/default_avatar"
app:riv_oval="true" />
<TextView
android:id="@+id/tv_nickname2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:ellipsize="end"
android:lines="1"
android:maxWidth="@dimen/dp_70"
android:text="用户昵称"
android:textColor="#FF624E79"
android:textSize="@dimen/sp_10" />
</LinearLayout>
<RelativeLayout
android:id="@+id/rl_reqit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/dp_50"
android:background="@mipmap/regit_t"
android:visibility="gone">
<TextView
android:id="@+id/tv_relation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/dp_40"
android:gravity="center" android:gravity="center"
android:textColor="@color/white" android:text="暂无关系,前往房间互送特殊礼物达成关系吧"
android:textColor="#624E79"
android:textSize="@dimen/sp_12" android:textSize="@dimen/sp_12"
android:textStyle="bold" android:visibility="visible"
tools:text="开始使用" /> app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
</RelativeLayout> app:layout_constraintTop_toBottomOf="@+id/tv_heartbeat" />
</androidx.constraintlayout.widget.ConstraintLayout>
<TextView <!-- 关系列表-->
android:id="@+id/tv_time" <androidx.recyclerview.widget.RecyclerView
android:layout_width="wrap_content" android:id="@+id/rv_my_relationship"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentEnd="true" android:clipToPadding="false"
android:background="@drawable/bg_r53_33333" android:nestedScrollingEnabled="false"
android:gravity="center" android:paddingBottom="@dimen/dp_200"
android:paddingStart="5dp" tools:listitem="@layout/item_relationship_list" />
android:paddingEnd="5dp"
android:textColor="@color/white" </LinearLayout>
android:textSize="@dimen/sp_9" </LinearLayout>
android:visibility="gone"
tools:text="5天" />
</RelativeLayout>
<TextView </androidx.constraintlayout.widget.ConstraintLayout>
android:id="@+id/tv_heartbeat_ts"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_24"
android:layout_marginTop="@dimen/dp_16"
android:background="@mipmap/bj_heartbeat_ts"
android:gravity="center"
android:text="暂无关系,前往房间互送特殊礼物达成关系吧"
android:textColor="#624E79"
android:textSize="@dimen/sp_12"
android:visibility="visible"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_heartbeat" />
</androidx.constraintlayout.widget.ConstraintLayout>
<!-- 关系列表-->
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_my_relationship"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:nestedScrollingEnabled="false"
android:clipToPadding="false"
android:paddingBottom="@dimen/dp_200"
tools:listitem="@layout/item_relationship_list" />
</LinearLayout>
</androidx.core.widget.NestedScrollView> </androidx.core.widget.NestedScrollView>
</com.scwang.smartrefresh.layout.SmartRefreshLayout> </com.scwang.smartrefresh.layout.SmartRefreshLayout>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</layout> </layout>

View File

@@ -24,8 +24,8 @@
<View <View
android:id="@+id/view_top2" android:id="@+id/view_top2"
android:layout_width="@dimen/dp_70" android:layout_width="@dimen/dp_80"
android:layout_height="@dimen/dp_70" android:layout_height="@dimen/dp_80"
android:layout_marginTop="@dimen/dp_44" android:layout_marginTop="@dimen/dp_44"
app:layout_constraintEnd_toStartOf="@+id/view_top1" app:layout_constraintEnd_toStartOf="@+id/view_top1"
app:layout_constraintHorizontal_chainStyle="spread" app:layout_constraintHorizontal_chainStyle="spread"
@@ -34,19 +34,17 @@
<com.xscm.moduleutil.widget.GifAvatarOvalView <com.xscm.moduleutil.widget.GifAvatarOvalView
android:id="@+id/room_rank_top2_headIcon" android:id="@+id/room_rank_top2_headIcon"
android:layout_width="@dimen/dp_58" android:layout_width="@dimen/dp_55"
android:layout_height="@dimen/dp_58" android:layout_height="@dimen/dp_55"
app:layout_constraintBottom_toBottomOf="@id/view_top2" app:layout_constraintBottom_toBottomOf="@id/view_top2"
app:layout_constraintEnd_toEndOf="@id/view_top2" app:layout_constraintEnd_toEndOf="@id/view_top2"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="@id/view_top2" app:layout_constraintStart_toStartOf="@id/view_top2"
app:layout_constraintTop_toTopOf="@id/view_top2" app:layout_constraintTop_toTopOf="@id/view_top2"
app:layout_constraintVertical_bias="0.9"
app:riv_oval="true" /> app:riv_oval="true" />
<ImageView <ImageView
android:layout_width="@dimen/dp_63" android:layout_width="@dimen/dp_65"
android:layout_height="@dimen/dp_63" android:layout_height="@dimen/dp_65"
android:background="@mipmap/rank_im_t2" android:background="@mipmap/rank_im_t2"
app:layout_constraintBottom_toBottomOf="@id/view_top2" app:layout_constraintBottom_toBottomOf="@id/view_top2"
app:layout_constraintEnd_toEndOf="@id/view_top2" app:layout_constraintEnd_toEndOf="@id/view_top2"
@@ -61,14 +59,14 @@
android:scaleType="fitCenter" android:scaleType="fitCenter"
app:layout_constraintBottom_toBottomOf="@id/view_top2" app:layout_constraintBottom_toBottomOf="@id/view_top2"
app:layout_constraintEnd_toEndOf="@id/view_top2" app:layout_constraintEnd_toEndOf="@id/view_top2"
app:layout_constraintStart_toStartOf="@id/view_top2"/> app:layout_constraintStart_toStartOf="@id/view_top2"
android:visibility="gone"/>
<com.xscm.moduleutil.widget.ShineTextView <com.xscm.moduleutil.widget.ShineTextView
app:isShine="false" app:isShine="false"
android:id="@+id/room_top2_name" android:id="@+id/room_top2_name"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:ellipsize="end" android:ellipsize="end"
android:gravity="center" android:gravity="center"
android:maxLines="1" android:maxLines="1"
@@ -245,7 +243,8 @@
android:scaleType="fitCenter" android:scaleType="fitCenter"
app:layout_constraintBottom_toBottomOf="@id/view_top1" app:layout_constraintBottom_toBottomOf="@id/view_top1"
app:layout_constraintEnd_toEndOf="@id/view_top1" app:layout_constraintEnd_toEndOf="@id/view_top1"
app:layout_constraintStart_toStartOf="@id/view_top1"/> app:layout_constraintStart_toStartOf="@id/view_top1"
android:visibility="gone"/>
<ImageView <ImageView
@@ -255,7 +254,8 @@
android:scaleType="fitCenter" android:scaleType="fitCenter"
app:layout_constraintBottom_toBottomOf="@id/view_top3" app:layout_constraintBottom_toBottomOf="@id/view_top3"
app:layout_constraintEnd_toEndOf="@id/view_top3" app:layout_constraintEnd_toEndOf="@id/view_top3"
app:layout_constraintStart_toStartOf="@id/view_top3"/> app:layout_constraintStart_toStartOf="@id/view_top3"
android:visibility="gone"/>
<TextView <TextView
android:id="@+id/room_head_top3_label" android:id="@+id/room_head_top3_label"