1:修改点唱房的bug
2:添加公会消息类型
This commit is contained in:
@@ -1032,7 +1032,7 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
|
||||
fun getRoomInfoResp(): List<RoomPitBean>? {
|
||||
val roomPitBeans = mRoomInfoResp?.room_info?.pit_list.orEmpty().filter {
|
||||
it.user_id != null && it.user_id != "0" && it.user_id.isNotEmpty()&& it.user_id.toInt() != SpUtil.getUserId()
|
||||
it.user_id != null && it.user_id != "0" && it.user_id.isNotEmpty()&& it.user_id.toInt() != SpUtil.getUserId() && it.pit_number.toInt()<9
|
||||
}
|
||||
return roomPitBeans.ifEmpty { null }
|
||||
}
|
||||
@@ -3692,7 +3692,7 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
return result
|
||||
}
|
||||
|
||||
|
||||
// TODO: 根据返回的在线列表获取对应的值,查看是否有在线用户
|
||||
override fun getRoomOnline(onlineBean: RoomOnline?) {
|
||||
if (onlineBean != null) {
|
||||
val onlineBeans: MutableList<RoomOnlineBean> = ArrayList()
|
||||
@@ -3818,7 +3818,12 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
}
|
||||
|
||||
RoomType.JUKEBOX -> {
|
||||
changeBackgroundColor(mRoomInfoResp!!.room_info.room_background)
|
||||
if (mRoomInfoResp!!.room_info.room_background == null || mRoomInfoResp!!.room_info.room_background == "") {
|
||||
changeBackground(com.xscm.moduleutil.R.mipmap.jukebox_bj)
|
||||
} else {
|
||||
changeBackgroundColor(mRoomInfoResp!!.room_info.room_background)
|
||||
}
|
||||
// changeBackgroundColor(mRoomInfoResp!!.room_info.room_background)
|
||||
setvisibTop(true)
|
||||
QXRoomSeatViewType.JUKEBOX
|
||||
}
|
||||
|
||||
@@ -4,9 +4,12 @@ import static android.view.View.GONE;
|
||||
import static android.view.View.VISIBLE;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.util.Log;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.CompoundButton;
|
||||
import android.widget.PopupWindow;
|
||||
import android.widget.Switch;
|
||||
@@ -93,6 +96,7 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
|
||||
|
||||
@Override
|
||||
protected void initView() {
|
||||
initPopupWindow();
|
||||
mBinding.guestContainer.setVisibility(GONE);
|
||||
adapter = new RoomJukeboxAdapter(R.layout.item_jukebox);
|
||||
GridLayoutManager layoutManager = new GridLayoutManager(getContext(), 4);
|
||||
@@ -227,6 +231,34 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
|
||||
return false; // 不是快速重复点击
|
||||
}
|
||||
|
||||
private void initPopupWindow() {
|
||||
// 加载弹出视图布局
|
||||
View popupView = LayoutInflater.from(getContext()).inflate(R.layout.popup_menu, null, false);
|
||||
|
||||
// 创建 PopupWindow
|
||||
DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
|
||||
// 设置固定宽高(单位是像素)
|
||||
int screenWidth = displayMetrics.widthPixels;
|
||||
int screenHeight = displayMetrics.heightPixels;
|
||||
|
||||
int popupWidth = (int) (screenWidth * 0.25); // 屏幕宽度的 60%
|
||||
int popupHeight = (int) (screenHeight * 0.13); // 屏幕高度的 40%
|
||||
|
||||
popupWindow = new PopupWindow(popupView, popupWidth, popupHeight, true);
|
||||
|
||||
// 必须设置背景,否则布局会压缩
|
||||
popupWindow.setBackgroundDrawable(getResources().getDrawable(com.xscm.moduleutil.R.drawable.bg_r16_fff));
|
||||
|
||||
// 设置动画效果(可选)
|
||||
popupWindow.setAnimationStyle(com.xscm.moduleutil.R.style.PopupAnimation);
|
||||
|
||||
// 设置点击外部区域时自动关闭
|
||||
popupWindow.setOutsideTouchable(true);
|
||||
popupWindow.setFocusable(true);
|
||||
|
||||
// 设置弹出视图中的点击事件
|
||||
setPopupMenuClickListener(popupView, null);
|
||||
}
|
||||
private void showPopupMenu(View anchorView) {
|
||||
if (popupWindow != null && !popupWindow.isShowing()) {
|
||||
// 获取锚点视图的坐标
|
||||
@@ -359,11 +391,13 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
|
||||
mBinding.tvPerformerName.setVisibility(GONE);
|
||||
mBinding.tvNetName.setVisibility(VISIBLE);
|
||||
mBinding.ciNetAva.setVisibility(VISIBLE);
|
||||
setUserAvaSize(63);
|
||||
ImageUtils.loadHead(roomInfoResp.getSinger_info().getSong_info().getSinger_avatar(), mBinding.ciUserAva);
|
||||
// ImageUtils.loadHead(roomInfoResp.getSinger_info().getSong_info().getSinger_avatar(), mBinding.ciUserAva);
|
||||
mBinding.tvSong.setText("演唱歌曲:" + roomInfoResp.getSinger_info().getSong_info().getSong_name());
|
||||
ImageUtils.loadHead(roomInfoResp.getSinger_info().getSong_info().getBoss_avatar(), mBinding.ciNetAva);
|
||||
mBinding.tvNetName.setText("老板");
|
||||
songId = roomInfoResp.getSinger_info().getSong_info().getSinger_song_id();
|
||||
songId = roomInfoResp.getSinger_info().getSong_info().getId();
|
||||
|
||||
if (roomInfoResp.getSinger_info().getNext_song_info() != null) {
|
||||
mBinding.guestContainer.setVisibility(View.VISIBLE);
|
||||
@@ -374,6 +408,9 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
|
||||
}
|
||||
|
||||
String userId = String.valueOf(roomInfoResp.getSinger_info().getSong_info().getSinger_user_id());
|
||||
if (userId.equals(SpUtil.getUserId()+"")){
|
||||
upMike(true);
|
||||
}
|
||||
if (mBinding.wvZc.getUserId().equals(userId)) {
|
||||
mBinding.wvZc.pitBean.setImageType(true);
|
||||
mBinding.wvZc.setData(mBinding.wvZc.pitBean);
|
||||
@@ -388,11 +425,19 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
|
||||
adapter.notifyDataSetChanged();
|
||||
}
|
||||
} else {
|
||||
setUserAvaSize(32);
|
||||
mBinding.ciUserAva.setImageResource(R.mipmap.microphone);
|
||||
mBinding.tvPerformerName.setVisibility(VISIBLE);
|
||||
mBinding.tvNetName.setVisibility(GONE);
|
||||
mBinding.ciNetAva.setVisibility(GONE);
|
||||
mBinding.tvSong.setText("演唱歌曲:无");
|
||||
mBinding.imQg.setVisibility(GONE);
|
||||
}
|
||||
|
||||
}
|
||||
if (mBinding.wvZc.getUserId()!=null && !mBinding.wvZc.getUserId().equals("0") && !mBinding.wvZc.getUserId().equals("") && mBinding.wvZc.getUserId().equals(SpUtil.getUserId()+"")) {
|
||||
mBinding.imQg.setVisibility(VISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -614,6 +659,8 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
|
||||
ImageUtils.loadHead(messageEvent.getText().getNext_song_info().getSinger_avatar(), mBinding.ciGsAva);
|
||||
mBinding.tvGsName.setText(messageEvent.getText().getNext_song_info().getSinger_nickname());
|
||||
roomInfoResp.getSinger_info().setNext_song_info(messageEvent.getText().getNext_song_info());
|
||||
}else {
|
||||
mBinding.guestContainer.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -624,14 +671,21 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
|
||||
mBinding.tvPerformerName.setVisibility(GONE);
|
||||
mBinding.tvNetName.setVisibility(VISIBLE);
|
||||
mBinding.ciNetAva.setVisibility(VISIBLE);
|
||||
setUserAvaSize(63);
|
||||
|
||||
|
||||
ImageUtils.loadHead(messageEvent.getText().getSong_info().getSinger_avatar(), mBinding.ciUserAva);
|
||||
mBinding.tvSong.setText("演唱歌曲:" + messageEvent.getText().getSong_info().getSong_name());
|
||||
|
||||
roomInfoResp.getSinger_info().setSong_info(messageEvent.getText().getSong_info());
|
||||
ImageUtils.loadHead(messageEvent.getText().getSong_info().getBoss_avatar(), mBinding.ciNetAva);
|
||||
mBinding.tvNetName.setText("老板");
|
||||
songId = messageEvent.getText().getSong_info().getSinger_song_id();
|
||||
songId = messageEvent.getText().getSong_info().getId();
|
||||
String userId = String.valueOf(messageEvent.getText().getSong_info().getSinger_user_id());
|
||||
if (userId.equals(SpUtil.getUserId()+"")){
|
||||
upMike(true);
|
||||
}
|
||||
|
||||
if (mBinding.wvZc.getUserId().equals(userId)) {
|
||||
mBinding.wvZc.pitBean.setImageType(true);
|
||||
mBinding.wvZc.setData(mBinding.wvZc.pitBean);
|
||||
@@ -645,6 +699,31 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
|
||||
}
|
||||
adapter.notifyDataSetChanged();
|
||||
}
|
||||
}else {
|
||||
setUserAvaSize(32);
|
||||
mBinding.ciUserAva.setImageResource(R.mipmap.microphone);
|
||||
mBinding.tvPerformerName.setVisibility(VISIBLE);
|
||||
mBinding.tvNetName.setVisibility(GONE);
|
||||
mBinding.ciNetAva.setVisibility(GONE);
|
||||
mBinding.tvSong.setText("演唱歌曲:无");
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: 2025/11/22 当有演唱者的时候,修改演唱者头像的大小
|
||||
private void setUserAvaSize(int size) {
|
||||
// 设置控件大小为50dp x 50dp
|
||||
int sizeInPx = (int) (size * getResources().getDisplayMetrics().density + 0.5f);
|
||||
ViewGroup.LayoutParams layoutParams = mBinding.ciUserAva.getLayoutParams();
|
||||
layoutParams.width = sizeInPx;
|
||||
layoutParams.height = sizeInPx;
|
||||
mBinding.ciUserAva.setLayoutParams(layoutParams);
|
||||
}
|
||||
|
||||
// TODO: 2025/11/22 当在演唱位的时候,显示麦克风,当上麦的时候,也展示麦克风,
|
||||
private void upMike(boolean isBool){
|
||||
if (getActivity() != null) {
|
||||
// 假设Activity有获取麦位数据的方法
|
||||
((RoomActivity) getActivity()).setrlMic(isBool);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -91,8 +91,10 @@ public class SongRequestFragment extends BaseMvpFragment<RequestSongPresenter, F
|
||||
// 初始化麦位RecyclerView
|
||||
wheatPositionAdapter = new WheatPositionAdapter(new ArrayList<>());
|
||||
wheatPositionAdapter.setOnItemSelectedListener(position -> {
|
||||
selectedWheatPosition = Integer.parseInt(position.getUser_id());
|
||||
updateSongList(selectedWheatPosition);
|
||||
if (position != null && position.getUser_id() != null && !position.getUser_id().isEmpty()) {
|
||||
selectedWheatPosition = Integer.parseInt(position.getUser_id());
|
||||
updateSongList(selectedWheatPosition);
|
||||
}
|
||||
});
|
||||
|
||||
mBinding.rvWheatPositions.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.HORIZONTAL, false));
|
||||
|
||||
Reference in New Issue
Block a user