package com.xscm.modulemain.dialog; import android.os.Bundle; import android.view.Gravity; import android.view.Window; import android.view.WindowManager; import androidx.recyclerview.widget.LinearLayoutManager; import com.xscm.modulemain.R; import com.xscm.modulemain.adapter.RoomCharmAdapter; import com.xscm.modulemain.activity.room.contacts.RoomCharmDialogContacts; import com.xscm.modulemain.databinding.DialogCharmFragmentBinding; import com.xscm.modulemain.activity.room.presenter.RoomCharmDialogPresenter; import com.hjq.toast.ToastUtils; import com.xscm.moduleutil.base.BaseMvpDialogFragment; import com.xscm.moduleutil.bean.RoomUserCharmListBean; import java.util.ArrayList; import java.util.List; /** *@author qx *@data 2025/9/10 *@description: 魅力弹框 */ public class RoomCharmDialog extends BaseMvpDialogFragment implements RoomCharmDialogContacts.View{ private String mRoomId; private String mUserId; private RoomCharmAdapter mAdapter; public static RoomCharmDialog newInstance(String roomId,String userId) { RoomCharmDialog fragment = new RoomCharmDialog(); Bundle bundle = new Bundle(); bundle.putString("roomId", roomId); bundle.putString("userId", userId); fragment.setArguments(bundle); return fragment; } @Override public void initArgs(Bundle arguments) { super.initArgs(arguments); mRoomId = arguments.getString("roomId"); mUserId = arguments.getString("userId"); } @Override protected RoomCharmDialogPresenter bindPresenter() { return new RoomCharmDialogPresenter(this, getActivity()); } @Override protected void initDialogStyle(Window window) { super.initDialogStyle(window); window.setGravity(Gravity.BOTTOM); WindowManager.LayoutParams lp = window.getAttributes(); lp.dimAmount = 0.5f; // 固定对话框的宽度和高度 lp.width = WindowManager.LayoutParams.MATCH_PARENT; // 宽度设置为屏幕宽度 lp.height = WindowManager.LayoutParams.WRAP_CONTENT; // 高度设置为内容高度 window.setAttributes(lp); window.addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); } @Override protected void initData() { MvpPre.roomUserCharmList(mRoomId, mUserId); } @Override protected void initView() { mBinding.rvCharmList.setLayoutManager(new LinearLayoutManager(getContext())); mAdapter = new RoomCharmAdapter(); mBinding.rvCharmList.setAdapter(mAdapter); } @Override protected int getLayoutId() { return R.layout.dialog_charm_fragment; } @Override public void roomUserCharmList(List roomUserCharmListBeans) { if (roomUserCharmListBeans!=null){ mAdapter.setNewData(roomUserCharmListBeans); }else { mAdapter.setNewData(new ArrayList<>()); ToastUtils.show("暂无数据"); } } }