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 avatar;
private String total;
private String rank;
private String rank="";
private List<String> icon;
private String room_name;
private String room_id;

View File

@@ -1,5 +1,7 @@
package com.xscm.moduleutil.bean;
import java.util.List;
import lombok.Data;
@Data
@@ -9,8 +11,9 @@ public class UserResultResp {
private String user_id;
private String user_code;
private String nickname;
private String head_picture;
private String sex;
private String avatar;
private int sex;
private List<String> icon;
private String follow;
private String fans_count;
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.BindType;
import com.xscm.moduleutil.bean.RechargeBean;
import com.xscm.moduleutil.color.ThemeableDrawableUtils;
import com.xscm.moduleutil.databinding.FragmentRechargeDialogBinding;
import com.xscm.moduleutil.presenter.RechargeDialogContacts;
import com.xscm.moduleutil.presenter.RechargeDialogPresenter;
import com.xscm.moduleutil.utils.ColorManager;
import com.xscm.moduleutil.utils.SpUtil;
import com.xscm.moduleutil.widget.PaymentUtil;
import com.tencent.mm.opensdk.openapi.IWXAPI;
@@ -142,6 +144,9 @@ public class RechargeDialogFragment extends BaseMvpDialogFragment<RechargeDialog
}else{
mBinding.r4.setVisibility(View.GONE);
}
ThemeableDrawableUtils.setThemeableRoundedBackground(mBinding.tvPayment, ColorManager.getInstance().getPrimaryColorInt(), 53);
mBinding.tvPayment.setTextColor(ColorManager.getInstance().getButtonColorInt());
}
@Override

View File

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

View File

@@ -135,7 +135,7 @@ public class DateSelectDialog extends BaseBottomSheetDialog<MeDialogDateSelectBi
int currentDay = TimeUtils.getDay();
// 如果是最大年份且是最大月份,则日期不能超过当前日期
if (year == currentYear - 16 && month == currentMonth) {
if (year == currentYear - 18 && month == currentMonth) {
dayLimit = currentDay;
}
@@ -158,7 +158,7 @@ public class DateSelectDialog extends BaseBottomSheetDialog<MeDialogDateSelectBi
int monthLimit = 12;
// 如果是最大年份16年前则月份不能超过当前月份
if (year == currentYear - 16) {
if (year == currentYear - 18) {
monthLimit = currentMonth;
}
@@ -175,7 +175,7 @@ public class DateSelectDialog extends BaseBottomSheetDialog<MeDialogDateSelectBi
private List<DateBean> getYear() {
int currentYear = TimeUtils.getYear();
int minYear = currentYear - 100; // 最小年份设为100年前
int maxYear = currentYear - 16; // 最大年份设为16年前
int maxYear = currentYear - 18; // 最大年份设为16年前
List<DateBean> yearList = new ArrayList<>();
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 initialY = 0f
private var isBeingDragged = false
override fun onInterceptTouchEvent(ev: MotionEvent): Boolean {
when (ev.action) {
MotionEvent.ACTION_DOWN -> {
@@ -31,11 +33,34 @@ class CustomViewPager(context: Context, attrs: AttributeSet?) : ViewPager(contex
if (deltaX > deltaY && deltaX > 30) { // 30是阈值可以根据需要调整
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)
}
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) {
LogUtils.e(t)
if (!t.room_id.isNullOrEmpty()) {
showInviteDialog(activity, t)
}

View File

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

View File

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

View File

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

View File

@@ -271,7 +271,9 @@ public class MyRoomActivity extends BaseMvpActivity<MyRoomPresenter, RoomActivit
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.setMax(100); // 设置最大值
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() {
private Runnable longPressRunnable;
@@ -243,10 +208,10 @@ public class SingerVerificationActivity extends BaseMvpActivity<SingerVerificati
mBinding.playButton.setCompoundDrawablesWithIntrinsicBounds(0, R.mipmap.but_st, 0, 0);
} else {
// 检查录音文件是否存在
if (recordingFile == null || !recordingFile.exists()) {
Toast.makeText(SingerVerificationActivity.this, "没有录制的文件", Toast.LENGTH_SHORT).show();
return;
}
// if (recordingFile == null || !recordingFile.exists()) {
// Toast.makeText(SingerVerificationActivity.this, "没有录制的文件", Toast.LENGTH_SHORT).show();
// return;
// }
// 检查录音时长
if (recordingDuration <= 0) {
@@ -353,10 +318,9 @@ public class SingerVerificationActivity extends BaseMvpActivity<SingerVerificati
mediaRecorder.prepare();
mediaRecorder.start();
// 如果是第一次录音,初始化录音文件
if (!isAppendRecording) {
recordingFile = segmentFile;
}
// 修复不再根据是否追加录音来设置recordingFile
// recordingFile将在停止录音时通过mergeAudioFiles()方法设置
// 这样可以确保每次录音都能正确合并
} catch (IOException e) {
LogUtils.e("SingerVerification", "录音失败: " + e.getMessage());
// 从列表中移除失败的文件
@@ -442,16 +406,28 @@ public class SingerVerificationActivity extends BaseMvpActivity<SingerVerificati
timer.cancel();
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();
// 更新录音时长为所有片段的总时长
updateRecordingDuration();
} else if (recordingSegments.size() == 1) {
// 只有一个录音片段,直接使用
recordingFile = recordingSegments.get(0);
}
// 更新状态
@@ -749,11 +725,9 @@ public class SingerVerificationActivity extends BaseMvpActivity<SingerVerificati
handleMergeError(e);
} finally {
cleanupResources(muxer, buffer);
// 修复:延迟删除原始音频片段,确保合并文件已经完全写入且被使用
// 延迟删除,给用户足够时间试听
new Handler().postDelayed(() -> {
cleanupSegments(processedSegments);
}, 30000); // 延迟30秒删除确保用户有足够时间试听
// 修复:不删除录音片段,以便后续继续追加录音
// 只在用户点击"重新录音"时才删除所有片段
// cleanupSegments(processedSegments);
}
}

View File

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

View File

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

View File

@@ -357,7 +357,7 @@ public class VocalRangeFragment extends BaseMvpFragment<MePresenter, FragmentVoc
if (images != null && !images.isEmpty()) {
for (String url : images) {
if (url.contains("http")) {
if (url!=null && url.contains("http")) {
ImageView imageView = new ImageView(getContext());
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
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.setShine(true);
tvName.setShineType(0);
}else {
} else {
tvName.setStartColor(Color.parseColor("#FFFFFFFF"));
tvName.setShineColor(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);
ll_images.removeAllViews();
for (String url : images) {
if (url.contains("http")) {
if (url != null && url.contains("http")) {
ImageView imageView = new ImageView(helper.itemView.getContext());
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
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";
View bubbleView = helper.getView(com.xscm.moduleutil.R.id.bubble);
bubbleView.setTag(bubbleId);
if (emMessage.getText().getFromUserInfo().getChat_bubble() != null && !emMessage.getText().getFromUserInfo().getChat_bubble().isEmpty()) {
// 使用 Glide 加载图片并设置名称
String imageUrl = emMessage.getText().getFromUserInfo().getChat_bubble();

View File

@@ -51,10 +51,10 @@ public class ExpandColumnAdapter extends BaseQuickAdapter<ExpandColumnBean, Base
@Override
protected void convert(BaseViewHolder helper, ExpandColumnBean item) {
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.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());
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.setShine(true);
tvName.setShineType(0);
}else {
} else {
tvName.setStartColor(Color.BLACK);
tvName.setShineColor(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.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);
}else {
} else {
helper.setVisible(R.id.gensui, true);
}
@@ -119,7 +119,7 @@ public class ExpandColumnAdapter extends BaseQuickAdapter<ExpandColumnBean, Base
recyclerView.setOnItemClickListener((parent, view, position, id) -> {
FullScreenUtil.showFullScreenDialog(mContext, position, oneImageYuanJiaoAdapter.getList_adapter());
});
}else {
} else {
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(); // 获取图片列表
for (String url : images) {
if (url.contains("http")) {
if (url != null && url.contains("http")) {
ImageView imageView = new ImageView(mContext);
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_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.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()));
// ((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));
// ((BeautifulNameView) helper.getView(R.id.bnv_rank_list)).setText(item.getNickname2());
helper.setText(R.id.tv_charm, "Lv "+item.getTotal());
} else if (index == 1 || index == 2) {
rl.setVisibility(View.GONE);
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){
// 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() + "号麦")) : "");
}else {
} else {
textView.setText("抱麦");
}
@@ -116,7 +116,7 @@ public class RoomOnlineAdapter extends BaseMultiItemQuickAdapter<RoomOnlineBean,
List<String> images = item.getIcon(); // 获取图片列表
for (String url : images) {
if (url.contains("http")) {
if (url != null && url.contains("http")) {
ImageView imageView1 = new ImageView(helper.itemView.getContext());
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
@@ -128,7 +128,7 @@ public class RoomOnlineAdapter extends BaseMultiItemQuickAdapter<RoomOnlineBean,
imageView1.setScaleType(ImageView.ScaleType.FIT_START);
// 使用 Glide 加载图片
ImageUtils.loadHeadCC(url, imageView1,params);
ImageUtils.loadHeadCC(url, imageView1, params);
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.tv_id, "ID:" + item.getUser_code());
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() + "")) {
// helper.setVisible(R.id.gensui, false);
// } else {

View File

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

View File

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

View File

@@ -8,256 +8,279 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<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"/>
android:orientation="vertical">
<com.scwang.smartrefresh.layout.SmartRefreshLayout
android:id="@+id/smart_refresh_layout"
android:layout_width="match_parent"
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:srlEnableRefresh="true">
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_height="match_parent"
android:fillViewport="true">
<LinearLayout
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
android:layout_height="match_parent">
<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_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
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"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
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">
android:layout_height="match_parent"
android:orientation="vertical">
<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" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cc"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<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:id="@+id/tv_heartbeat"
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:layout_marginBottom="@dimen/dp_54"
android:background="@mipmap/icon_heartbeat"
android:fontFamily="@font/semibold"
android:gravity="center"
android:padding="@dimen/dp_5"
android:textColor="#FFFFEAB9"
android:textSize="@dimen/sp_10"
tools:text="LV8 情缘一定" />
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" />
<ImageView
android:layout_width="wrap_content"
<RelativeLayout
android:id="@+id/ll_cp"
android:layout_width="match_parent"
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
android:id="@+id/tv_cp_num"
android:layout_width="wrap_content"
android:id="@+id/tv_heartbeat_ts"
android:layout_width="match_parent"
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:layout_marginHorizontal="@dimen/dp_24"
android:layout_marginTop="@dimen/dp_16"
android:background="@mipmap/bj_heartbeat_ts"
android:gravity="center"
android:textColor="@color/white"
android:text="暂无关系,前往房间互送特殊礼物达成关系吧"
android:textColor="#624E79"
android:textSize="@dimen/sp_12"
android:textStyle="bold"
tools:text="开始使用" />
</RelativeLayout>
android:visibility="visible"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_heartbeat" />
</androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:id="@+id/tv_time"
android:layout_width="wrap_content"
<!-- 关系列表-->
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_my_relationship"
android:layout_width="match_parent"
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>
android:clipToPadding="false"
android:nestedScrollingEnabled="false"
android:paddingBottom="@dimen/dp_200"
tools:listitem="@layout/item_relationship_list" />
</LinearLayout>
</LinearLayout>
<TextView
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.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

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