package com.xscm.modulemain.dialog; import static com.xscm.moduleutil.utils.ImageUtils.copyAssetToFile; import android.os.Build; import android.os.Bundle; import android.os.Environment; import android.view.Gravity; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.widget.Button; import android.widget.TextView; import androidx.core.content.ContextCompat; import androidx.fragment.app.FragmentManager; import com.xscm.modulemain.R; import com.xscm.modulemain.activity.room.contacts.WheatContacts; import com.xscm.modulemain.activity.room.presenter.WheatPresenter; import com.xscm.modulemain.adapter.RoomOnlineAdapter; import com.xscm.modulemain.databinding.FragmentSoundDialogBinding; import com.xscm.moduleutil.base.BaseMvpDialogFragment; import com.xscm.moduleutil.bean.room.RoomApplyListBean; import com.xscm.moduleutil.color.ThemeableDrawableUtils; import com.xscm.moduleutil.rtc.AgoraManager; import com.xscm.moduleutil.utils.ColorManager; import java.io.File; import java.util.ArrayList; import java.util.List; /** *@author qx *@data 2025/6/17 *@description: 音效弹框 */ public class SoundEffectsDialogFragment extends BaseMvpDialogFragment implements WheatContacts.View { private int page; private RoomOnlineAdapter roomOnlineAdapter; @Override protected WheatPresenter bindPresenter() { return new WheatPresenter(this, getActivity()); } public static SoundEffectsDialogFragment show(String id, FragmentManager fragmentManager) { SoundEffectsDialogFragment dialogFragment = new SoundEffectsDialogFragment(); Bundle args = new Bundle(); args.putString("roomId", id); // 可选:传递参数 dialogFragment.setArguments(args); dialogFragment.show(fragmentManager, "SoundEffectsDialogFragment"); return dialogFragment; } @Override protected void initData() { // MvpPre.getRoomOnline(getArguments().getString("roomId"), "1", "10"); } @Override public void onStart() { super.onStart(); Window window = getDialog().getWindow(); if (window != null) { // 设置固定高度为 500dp int screenHeight = getResources().getDisplayMetrics().heightPixels; int heightInDp = (int) (screenHeight * 0.4f);; // int heightInPx = (int) (heightInDp * getResources().getDisplayMetrics().density); window.setLayout(WindowManager.LayoutParams.MATCH_PARENT, heightInDp); // 可选:设置动画样式(从底部弹出) window.setWindowAnimations(com.xscm.moduleutil.R.style.CommonShowDialogBottom); } } // 用于记录选中的位置 private int selectedPosition = -1; // 所有点击项的集合 private final List clickableViews = new ArrayList<>(); // 背景资源 private static final int BG_DEFAULT = com.xscm.moduleutil.R.mipmap.suound_bj; private static final int BG_SELECTED = com.xscm.moduleutil.R.mipmap.suound_bjs; private static final int BTN_BG_SELECTED = com.xscm.moduleutil.R.mipmap.y_won; private static final int BTN_BG_DEFAULT = com.xscm.moduleutil.R.mipmap.y_w; private static final int TEXT_COLOR_SELECTED = com.xscm.moduleutil.R.color.color_FF333333; private static final int TEXT_COLOR_DEFAULT = com.xscm.moduleutil.R.color.white; private final List