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)
}
// 否则,不拦截,让子视图处理
// 如果是向上滑动,确保父容器不拦截
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());
// 从列表中移除失败的文件
@@ -443,15 +407,27 @@ public class SingerVerificationActivity extends BaseMvpActivity<SingerVerificati
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

@@ -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),

View File

@@ -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

@@ -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,

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,6 +33,7 @@ import com.xscm.moduleutil.utils.ImageUtils;
import org.greenrobot.eventbus.EventBus;
import java.util.List;
/**
* @author qx
* @data 2025/6/21
@@ -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) {
@@ -129,7 +132,7 @@ public class RoomHostAddFragment extends BaseMvpDialogFragment<RoomHostPresenter
llContainer.removeAllViews(); // 清空旧的 ImageView
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) {
@@ -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,7 +8,25 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
>
android:orientation="vertical">
<com.scwang.smartrefresh.layout.SmartRefreshLayout
android:id="@+id/smart_refresh_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:srlEnableLoadMore="true"
app:srlEnableRefresh="true">
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/im_intimate"
@@ -18,24 +36,30 @@
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"/>
app:layout_constraintTop_toBottomOf="@+id/smart_refresh_layout"
app:layout_constraintTop_toTopOf="parent" />
<com.scwang.smartrefresh.layout.SmartRefreshLayout
android:id="@+id/smart_refresh_layout"
<!-- <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"
app:srlEnableLoadMore="true"
app:srlEnableRefresh="true">
app:layout_constraintTop_toBottomOf="@+id/im_intimate">
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
@@ -45,8 +69,7 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cc"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
android:layout_height="wrap_content">
<TextView
@@ -247,17 +270,17 @@
android:id="@+id/rv_my_relationship"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:nestedScrollingEnabled="false"
android:clipToPadding="false"
android:nestedScrollingEnabled="false"
android:paddingBottom="@dimen/dp_200"
tools:listitem="@layout/item_relationship_list" />
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
</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"