package com.dayu.pipirrapp.view; import static android.view.Gravity.CENTER; import android.app.Activity; import android.app.Dialog; import android.view.View; import android.view.ViewGroup; import android.view.WindowManager; import android.widget.RadioGroup; import android.widget.TextView; import com.dayu.pipirrapp.MyApplication; import com.dayu.pipirrapp.R; import com.dayu.pipirrapp.bean.db.TagBean; import com.dayu.pipirrapp.dao.DaoSingleton; import com.dayu.pipirrapp.dao.TagDao; import com.dayu.pipirrapp.utils.CommonData; /** * author: zuo * Date: 2024-04-26 * Time: 16:18 * 备注:选择模块 */ public class TagDialog extends Dialog { Activity mContext; TagBean tagBean; TagDao tagDao; boolean ischose = false; libraryBack mLibraryBack; String data; int type; ConfirmDialog confirmDialog; public TagDialog(Activity context, libraryBack libraryBack) { super(context, R.style.showSelfDialog); mContext = context; mLibraryBack = libraryBack; initView(); } private void initView() { getWindow().setGravity(CENTER); setContentView(R.layout.tag_dialog); setCanceledOnTouchOutside(false); setCancelable(false); RadioGroup radioGroup = findViewById(R.id.radioLibrary); tagDao = DaoSingleton.getInstance(mContext).tagDao(); if (tagDao != null) { tagBean = tagDao.findFirst(); if (tagBean == null) { tagBean = new TagBean(); } radioGroup.setOnCheckedChangeListener((group, checkedId) -> { ischose = true; // 当选中的RadioButton发生变化时调用 if (checkedId == R.id.testLibrary) { type = CommonData.TestTag; tagBean.setTag("test"); data = "确认选择测试版本吗?"; } else if (checkedId == R.id.yuanmouLibrary) {// 处理选中Option 2的逻辑 type = CommonData.YuanMouTag; tagBean.setTag("ym"); data = "确认选择元谋版本吗?"; } }); TextView okBtn = findViewById(R.id.ok); okBtn.setOnClickListener(v -> { if (ischose) { //二次确认 confirmDialog = new ConfirmDialog(mContext, data, new View.OnClickListener() { @Override public void onClick(View v) { MyApplication.myApplication.myTag = tagBean.getTag(); tagDao.insert(tagBean); mLibraryBack.listener(type); TagDialog.this.dismiss(); confirmDialog.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); } }