package com.dayu.baselibrary.view; import static android.view.Gravity.CENTER; import android.app.Activity; import android.app.Dialog; import android.view.Gravity; import android.view.View; import android.view.ViewGroup; import android.view.WindowManager; import android.widget.RadioGroup; import android.widget.TextView; import com.dayu.baselibrary.R; import com.dayu.baselibrary.dao.BaseDaoSingleton; import com.dayu.baselibrary.dao.LibraryDao; import com.dayu.baselibrary.dbbean.LibraryBean; /** * author: zuo * Date: 2024-04-26 * Time: 16:18 * 备注:选择模块 */ public class LibraryDialog extends Dialog { Activity mContext; LibraryBean libraryBean; LibraryDao libraryDao; boolean ischose = false; libraryBack mLibraryBack; int type; String data; public LibraryDialog(Activity context, libraryBack libraryBack) { super(context, com.dayu.baselibrary.R.style.ws_pay_showSelfDialog); mContext = context; mLibraryBack = libraryBack; initView(); } private void initView() { getWindow().setGravity(CENTER); setContentView(R.layout.library_dialog); setCanceledOnTouchOutside(false); RadioGroup radioGroup = findViewById(R.id.radioLibrary); libraryDao = BaseDaoSingleton.getInstance(mContext).libraryDao(); libraryBean = libraryDao.findFirst(); if (libraryBean == null) { libraryBean = new LibraryBean(); } radioGroup.setOnCheckedChangeListener((group, checkedId) -> { ischose = true; // 当选中的RadioButton发生变化时调用 if (checkedId == R.id.henanLibrary) { type = 0; libraryBean.setType(type); data = "确认选择河南版本吗?"; } else if (checkedId == R.id.qhAloneLibrary) {// 处理选中Option 2的逻辑 type = 1; libraryBean.setType(type); data = "确认选择齐河单机版本吗?"; } }); TextView okBtn = findViewById(R.id.ok); okBtn.setOnClickListener(v -> { if (ischose) { //二次确认 ConfirmDialog confirmDialog = new ConfirmDialog(mContext, data, new View.OnClickListener() { @Override public void onClick(View v) { libraryDao.insert(libraryBean); mLibraryBack.listener(type); LibraryDialog.this.dismiss(); } }); confirmDialog.show(); } }); } @Override public void show() { super.show(); /** * 设置宽度全屏,要设置在show的后面 */ WindowManager.LayoutParams layoutParams = getWindow().getAttributes(); layoutParams.gravity = CENTER; layoutParams.width = ViewGroup.LayoutParams.MATCH_PARENT; layoutParams.height = ViewGroup.LayoutParams.MATCH_PARENT; getWindow().getDecorView().setPadding(0, 0, 0, 0); getWindow().setAttributes(layoutParams); } public interface libraryBack { void listener(int type); } }