From 87cd5df70918e6ba1af849c5f026d3719bfdb1ac Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期三, 09 四月 2025 09:06:29 +0800 Subject: [PATCH] Merge branch '1.5.2' into dev --- app/src/main/java/com/hdl/photovoltaic/widget/ListDialog.java | 71 +++++++++++++++++------------------ 1 files changed, 35 insertions(+), 36 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/ListDialog.java b/app/src/main/java/com/hdl/photovoltaic/widget/ListDialog.java index a3a1223..a6cc52c 100644 --- a/app/src/main/java/com/hdl/photovoltaic/widget/ListDialog.java +++ b/app/src/main/java/com/hdl/photovoltaic/widget/ListDialog.java @@ -3,25 +3,28 @@ import android.annotation.SuppressLint; import android.app.Dialog; import android.content.Context; -import android.content.Intent; +import android.content.DialogInterface; import android.os.Bundle; +import android.view.Gravity; import android.view.View; +import android.view.ViewGroup; +import android.view.Window; +import android.view.WindowManager; import androidx.annotation.NonNull; import androidx.recyclerview.widget.LinearLayoutManager; -import com.hdl.photovoltaic.HDLApp; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.BaseDialog; import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.databinding.DialogListBinding; -import com.hdl.photovoltaic.ui.StartActivity; import com.hdl.photovoltaic.ui.adapter.LanguageAdapter; -import com.hdl.photovoltaic.utils.AppManagerUtils; import com.hdl.photovoltaic.utils.LocalManageUtil; +import com.hdl.photovoltaic.utils.UnitConversionUtils; import com.hdl.photovoltaic.widget.adapter.ListDialogAdapter; import java.util.List; + /** * 鍔ㄦ�佸垪琛ㄥ脊绐� @@ -36,7 +39,7 @@ private ListDialogAdapter.OnclickListener itemOnclickListener;//鐐瑰嚮浜嗙殑鐩戝惉鍣� public ListDialog(@NonNull Context context) { - super(context, R.style.Custom_List_Dialog); + super(context, R.style.Custom_Dialog); this.mContext = context; } @@ -44,9 +47,20 @@ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + + Window window = getWindow(); + if (window != null) { + window.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); + WindowManager.LayoutParams layoutParams = window.getAttributes(); + layoutParams.gravity = Gravity.START | Gravity.TOP; + layoutParams.width = (int) UnitConversionUtils.dpToPx(mContext, 140); + layoutParams.x = (int) UnitConversionUtils.dpToPx(mContext, 20); + layoutParams.y = (int) UnitConversionUtils.dpToPx(mContext, 89); + window.setAttributes(layoutParams); + } + viewBinding = DialogListBinding.inflate(getLayoutInflater()); setContentView(viewBinding.getRoot()); - setDialogTouchOutsideCloseable(this); initData(); LinearLayoutManager linearLayout = new LinearLayoutManager(mContext); listDialogAdapter = new ListDialogAdapter(this.list, mContext); @@ -95,22 +109,16 @@ private void languageSelectionDialog(int position, LanguageAdapter.ItemData itemData) { ConfirmationCancelDialog dialog = new ConfirmationCancelDialog(this.mContext); - dialog.setTitle(this.mContext.getString(R.string.loading_title_tip)); dialog.setContent(this.mContext.getString(R.string.loading_app_restart)); dialog.show(); + dialog.isHideTitle(true); dialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() { @Override public void Confirm() { + dialog.dismiss(); if (itemOnclickListener != null) { itemOnclickListener.onClick(position, itemData); } - UserConfigManage.getInstance().setCurrentAppLanguage(itemData.getLanguage()); - UserConfigManage.getInstance().Save(); - dialog.dismiss(); - AppManagerUtils.getAppManager().finishAllActivity(); - Intent intent = new Intent(); - intent.setClass(HDLApp.getInstance(), StartActivity.class); - mContext.startActivity(intent); } }); dialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() { @@ -128,31 +136,22 @@ dialog.dismiss(); } }); - } - - - @SuppressLint("ClickableViewAccessibility") - public void setDialogTouchOutsideCloseable(Dialog dialog) { - viewBinding.getRoot().setOnClickListener(new View.OnClickListener() { + dialog.setOnDismissListener(new OnDismissListener() { @Override - public void onClick(View v) { - int top = viewBinding.dialogParent.getTop(); - int left = viewBinding.dialogParent.getLeft(); - int bottom = viewBinding.dialogParent.getBottom(); - int right = viewBinding.dialogParent.getRight(); - int y = (int) v.getY(); - int x = (int) v.getX(); - if (top < y && y < bottom) { - } else { - dismiss(); + public void onDismiss(DialogInterface dialog) { + //鍙栨秷涔嬪悗杩樺師涔嬪墠鐘舵�� + for (int i = 0; i < list.size(); i++) { + LanguageAdapter.ItemData data = list.get(i); + data.setState(false); + if (UserConfigManage.getInstance().getCurrentAppLanguage().equals(data.getLanguage())) { + data.setState(true); + } } - if (left < x && x < right) { - - } else { - dismiss(); - } - + listDialogAdapter.notifyDataSetChanged(); } }); + } + + } -- Gitblit v1.8.0