Files
yusheng-android/MainModule/src/main/java/com/xscm/modulemain/dialog/RoomConcernDialogFragment.java
梁小江 163340a691 1:修改时间选择框,根据需要,展示时分秒和不显示时分秒
2:修改展示设备id,在头部信息中,使用第三方的获取设备唯一id
3:优化群聊成员列表展示
4:修改房间封面,上传图片的时候,需要裁剪
5:添加营业时间展示
6:pk修改开始的时候,选择时间去掉1分钟
7:修改声网,添加声卡开关
2026-01-20 19:20:06 +08:00

192 lines
6.7 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.xscm.modulemain.dialog;
import android.app.Dialog;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.GridLayoutManager;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.xscm.modulemain.R;
import com.xscm.modulemain.activity.room.contacts.RoomCloseContacts;
import com.xscm.modulemain.databinding.RoomConcernDialogBinding;
import com.xscm.modulemain.activity.room.presenter.RoomClosePresenter;
import com.hjq.toast.ToastUtils;
import com.xscm.moduleutil.base.BaseMvpDialogFragment;
import com.xscm.moduleutil.bean.RoomRelationBean;
import com.xscm.moduleutil.bean.room.FriendUserBean;
import com.xscm.moduleutil.utils.ImageUtils;
import java.util.List;
import lombok.Setter;
/**
*@author qx
*@data 2025/8/24
*@description: 卡关系页面
*/
@Setter
public class RoomConcernDialogFragment extends BaseMvpDialogFragment<RoomClosePresenter, RoomConcernDialogBinding> implements RoomCloseContacts.View {
private int selectedPosition = -1;
private BaseQuickAdapter<RoomRelationBean, BaseViewHolder> mAdapter;
private FriendUserBean relationshipList;
public static RoomConcernDialogFragment newInstance(FriendUserBean relationshipList, OnConcernSelectedListener listener) {
RoomConcernDialogFragment fragment = new RoomConcernDialogFragment(listener);
Bundle args = new Bundle();
args.putSerializable("FriendUserBean", relationshipList);
fragment.setArguments(args);
return fragment;
}
public void initArgs(Bundle arguments) {
super.initArgs(arguments);
relationshipList = (FriendUserBean) arguments.getSerializable("FriendUserBean");
}
@Override
public int getLayoutId() {
return R.layout.room_concern_dialog;
}
@Override
protected void initDialogStyle(Window window) {
super.initDialogStyle(window);
window.setGravity(Gravity.CENTER);
WindowManager.LayoutParams lp = window.getAttributes();
lp.dimAmount = 0.4f;
// 使用dp单位转换为像素
lp.width = com.blankj.utilcode.util.ConvertUtils.dp2px(275); // 宽度275dp
lp.height = com.blankj.utilcode.util.ConvertUtils.dp2px(452); // 高度452dp
window.setAttributes(lp);
window.addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
}
@Override
public void initView() {
// getWindow().setLayout((int) (ScreenUtils.getScreenWidth() / 375.0 * 341), RadioGroup.LayoutParams.WRAP_CONTENT);
ImageUtils.loadImageView(relationshipList.getUser1_avatar(), mBinding.image);
ImageUtils.loadImageView(relationshipList.getUser2_avatar(), mBinding.image2);
mBinding.tvName1.setText(relationshipList.getUser1_nickname());
mBinding.tvName2.setText(relationshipList.getUser2_nickname());
mBinding.tvZhi.setText(relationshipList.getHeart_value());
mBinding.btnAction.setOnClickListener(this::onViewClicked);
// mBinding.btnCancel.setOnClickListener(this::onViewClicked);
mBinding.rlList.setLayoutManager(new GridLayoutManager(getContext(), 3));
mAdapter = new BaseQuickAdapter<RoomRelationBean, BaseViewHolder>(R.layout.room_concern_item) {
@Override
protected void convert(BaseViewHolder helper, RoomRelationBean item) {
TextView tvRelation = helper.getView(R.id.tv_relation);
tvRelation.setText(item.getName());
// 根据当前选中的位置来设置颜色
if (helper.getAdapterPosition() == selectedPosition) {
tvRelation.setSelected(true);
tvRelation.setTextColor(getResources().getColor(com.xscm.moduleutil.R.color.white));
} else {
tvRelation.setSelected(false);
tvRelation.setTextColor(getResources().getColor(com.xscm.moduleutil.R.color.black));
}
// 设置点击事件
tvRelation.setOnClickListener(v -> {
// 更新选中的位置
int previousPosition = selectedPosition;
selectedPosition = helper.getAdapterPosition();
// 通知Adapter数据集已更改以刷新视图
if (previousPosition != -1) {
notifyItemChanged(previousPosition);
}
notifyItemChanged(selectedPosition);
});
}
};
// mAdapter.setOnItemChildClickListener((adapter, view, position) -> {
// selectedPosition = position;
// });
mBinding.rlList.setAdapter(mAdapter);
mAdapter.bindToRecyclerView(mBinding.rlList);
// mAdapter.setNewData(list);
}
@Override
protected RoomClosePresenter bindPresenter() {
return new RoomClosePresenter(this, getContext());
}
@Override
public void initData() {
MvpPre.roomRelationList("3");
// MvpPre.getConcernList();
}
public OnConcernSelectedListener listener;
public void onViewClicked(View view) {
if (view.getId() == R.id.btn_action) {//确认
if (listener != null && selectedPosition != -1) {
RoomRelationBean selectedDean = mAdapter.getItem(selectedPosition);
listener.onConcernSelected(selectedDean, relationshipList);
dismiss();
}else {
ToastUtils.show("请选择关系");
return;
}
}
// else if (view.getId() == R.id.btn_cancel) {//取消
// dismiss();
// }
}
public void dismiss() {
super.dismiss();
}
@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
Dialog dialog = super.onCreateDialog(savedInstanceState);
dialog.setCancelable(false); // 禁止通过返回键关闭对话框
return dialog;
}
@Override
public void onStart() {
super.onStart();
Dialog dialog = getDialog();
if (dialog != null) {
dialog.setCanceledOnTouchOutside(false); // 禁止点击对话框外部关闭对话框
}
}
public RoomConcernDialogFragment(OnConcernSelectedListener listener) {
this.listener = listener;
}
@Override
public void roomRelationList(List<RoomRelationBean> list) {
mAdapter.setNewData(list);
}
public interface OnConcernSelectedListener {
void onConcernSelected(RoomRelationBean selectedDean, FriendUserBean relationshipList);
}
}