package com.xscm.moduleutil.dialog; import android.content.Context; import android.content.res.Resources; import android.graphics.Paint; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.widget.RadioGroup; import androidx.annotation.NonNull; import com.blankj.utilcode.util.ScreenUtils; import com.blankj.utilcode.util.ToastUtils; import com.xscm.moduleutil.R; import com.xscm.moduleutil.adapter.HeavenGiftAdapter; import com.xscm.moduleutil.bean.BaseListData; import com.xscm.moduleutil.bean.FirstChargeGiftBean; import com.xscm.moduleutil.bean.RoonGiftModel; import com.xscm.moduleutil.color.ThemeableDrawableUtils; import com.xscm.moduleutil.databinding.DialogFirstChargeBinding; import com.xscm.moduleutil.http.BaseObserver; import com.xscm.moduleutil.http.RetrofitClient; import com.xscm.moduleutil.utils.ColorManager; import com.xscm.moduleutil.widget.dialog.BaseDialog; import com.zhpan.bannerview.indicator.DrawableIndicator; import com.zhpan.indicator.base.IIndicator; import com.zhpan.indicator.enums.IndicatorSlideMode; import java.util.ArrayList; import java.util.List; import io.reactivex.disposables.Disposable; /** * @author * @data * @description: 首充好礼 */ public class FirstChargeDialog extends BaseDialog { HeavenGiftAdapter heavenGiftAdapter; FirstChargeGiftBean firstChargeGiftBean; private int type; public FirstChargeDialog(@NonNull Context context) { super(context, R.style.BaseDialogStyleH); } @Override public int getLayoutId() { return R.layout.dialog_first_charge; } @Override public void initView() { setCancelable(false); setCanceledOnTouchOutside(false); Window window = getWindow(); window.setLayout((int) (ScreenUtils.getScreenWidth() * 375.f / 375), WindowManager.LayoutParams.WRAP_CONTENT); mBinding.ivClose.setOnClickListener(v -> dismiss()); mBinding.tvTitle2.setPaintFlags(Paint.STRIKE_THRU_TEXT_FLAG); heavenGiftAdapter = new HeavenGiftAdapter(); mBinding.bannerViewPager .setAutoPlay(false) .setRevealWidth(0, 0) .setIndicatorVisibility(View.VISIBLE) .setIndicatorView(getVectorDrawableIndicator()) .setIndicatorSlideMode(IndicatorSlideMode.NORMAL) .setAdapter(heavenGiftAdapter) .create(); mBinding.rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup radioGroup, int i) { if (firstChargeGiftBean== null || firstChargeGiftBean.getGift_bag().size() == 0){ ToastUtils.showShort("暂无礼包"); return; } if (i == R.id.btn_0) { List list = new ArrayList<>(); if (firstChargeGiftBean.getGift_bag().size() > 1) { mBinding.tvTitle1.setText(firstChargeGiftBean.getGift_bag().get(0).getTitle1()); mBinding.tvTitle2.setText(firstChargeGiftBean.getGift_bag().get(0).getTitle2()); mBinding.btn0.setText(firstChargeGiftBean.getGift_bag().get(0).getName()); list.addAll(firstChargeGiftBean.getGift_bag().get(0).getGift_list()); mBinding.bannerViewPager.create(baseListData(list, 4)); } type=1; } else if (i == R.id.btn_1) { List list = new ArrayList<>(); if (firstChargeGiftBean.getGift_bag().size() > 2) { mBinding.tvTitle1.setText(firstChargeGiftBean.getGift_bag().get(1).getTitle1()); mBinding.tvTitle2.setText(firstChargeGiftBean.getGift_bag().get(1).getTitle2()); mBinding.btn1.setText(firstChargeGiftBean.getGift_bag().get(1).getName()); list.addAll(firstChargeGiftBean.getGift_bag().get(1).getGift_list()); mBinding.bannerViewPager.create(baseListData(list, 4)); } type=2; } else if (i == R.id.btn_2) { List list = new ArrayList<>(); if (firstChargeGiftBean.getGift_bag().size() == 3) { if (firstChargeGiftBean.getGift_bag().get(2)!=null) { mBinding.tvTitle1.setText(firstChargeGiftBean.getGift_bag().get(2).getTitle1()); mBinding.tvTitle2.setText(firstChargeGiftBean.getGift_bag().get(2).getTitle2()); mBinding.btn2.setText(firstChargeGiftBean.getGift_bag().get(2).getName()); list.addAll(firstChargeGiftBean.getGift_bag().get(2).getGift_list()); mBinding.bannerViewPager.create(baseListData(list, 4)); type = 3; } } } } }); mBinding.tvInvite.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // RechargeDialogFragment.show(roomId, getSupportFragmentManager()); if (listener != null) { listener.onFirstChargeConfirmed(firstChargeGiftBean,type); } } }); ThemeableDrawableUtils.setThemeableRoundedBackground(mBinding.tvInvite, ColorManager.getInstance().getPrimaryColorInt(), 53); mBinding.tvInvite.setTextColor(ColorManager.getInstance().getButtonColorInt()); } public interface OnFirstChargeListener { void onFirstChargeConfirmed(FirstChargeGiftBean giftBean,int type); void onFirstChargeCancelled(); } private OnFirstChargeListener listener; // 设置监听器的方法 public void setOnFirstChargeListener(OnFirstChargeListener listener) { this.listener = listener; } @Override public void initData() { RetrofitClient.getInstance().firstChargeGift(new BaseObserver() { @Override public void onSubscribe(Disposable d) { } @Override public void onNext(FirstChargeGiftBean firstChargeGiftBean) { if (firstChargeGiftBean != null) { showGift(firstChargeGiftBean); } } }); } private List> baseListData(List list, int chunkSize) { List> baseListData = new ArrayList<>(); for (int i = 0; i < list.size(); i += chunkSize) { BaseListData baseListData1 = new BaseListData<>(); baseListData1.setData(list.subList(i, Math.min(i + chunkSize, list.size()))); baseListData.add(baseListData1); } return baseListData; } private IIndicator getVectorDrawableIndicator() { int dp6 = getResources().getDimensionPixelOffset(com.xscm.moduleutil.R.dimen.dp_6); return new DrawableIndicator(getContext()) .setIndicatorGap(getResources().getDimensionPixelOffset(com.xscm.moduleutil.R.dimen.dp_2_5)) .setIndicatorDrawable(com.xscm.moduleutil.R.drawable.banner_indicator_nornal, com.xscm.moduleutil.R.drawable.banner_indicator_focus) .setIndicatorSize(getResources().getDimensionPixelOffset(com.xscm.moduleutil.R.dimen.dp_13), dp6, getResources().getDimensionPixelOffset(com.xscm.moduleutil.R.dimen.dp_13), dp6); } private Resources getResources() { return getContext().getResources(); } public void showGift(FirstChargeGiftBean firstChargeGiftBean) { this.firstChargeGiftBean = firstChargeGiftBean; mBinding.rg.check(R.id.btn_0); if (firstChargeGiftBean.getGift_bag() != null && firstChargeGiftBean.getGift_bag().size() > 0) { if (firstChargeGiftBean.getGift_bag().size() > 0) { type=1; List list = new ArrayList<>(); // mBinding.tvTitle1.setText(firstChargeGiftBean.getGift_bag().get(0).getTitle1()); // mBinding.tvTitle2.setText(firstChargeGiftBean.getGift_bag().get(0).getTitle2()); // mBinding.btn0.setText(firstChargeGiftBean.getGift_bag().get(0).getName()); list.addAll(firstChargeGiftBean.getGift_bag().get(0).getGift_list()); mBinding.tvTitle22.setText("充值"+firstChargeGiftBean.getGift_bag().get(0).getName()+"即可获得"+firstChargeGiftBean.getGift_bag().get(0).getTitle2()+"的道具或装扮"); mBinding.bannerViewPager.create(baseListData(list, 4)); // mBinding.btn1.setText(firstChargeGiftBean.getGift_bag().get(1).getName()); // mBinding.btn2.setText(firstChargeGiftBean.getGift_bag().get(2).getName()); } else if (firstChargeGiftBean.getGift_bag().size() == 2) { // mBinding.rg.check(R.id.btn_0); // mBinding.btn1.setVisibility(View.VISIBLE); // mBinding.btn2.setVisibility(View.INVISIBLE); } else if (firstChargeGiftBean.getGift_bag().size() == 3) { // mBinding.rg.check(R.id.btn_0); // mBinding.btn1.setVisibility(View.VISIBLE); // mBinding.btn2.setVisibility(View.VISIBLE); } // mBinding.rg.check(R.id.btn_0); } } }